问 sql语句, 给分! - MS-SQL Server / 基础类
如下!请看!
SQL code:
create procedure [dbo].[proc_TestPage]
@tablename nvarchar(255),--表名
@columns nvarchar(255),--要查询的列名
@sortcolumn nvarchar(255), --排序字段
@pagecount int, --每页记录数
@pageindex int, --页号
@wheres nvarchar(50),--条件
@counts int output
as
begin
[color=#FF0000]select @counts=count(ID) from @tablename where @wheres[/color]
declare @beginrow int
declare @endrow int
set @beginrow=0
set @endrow=0
set @beginrow=(@pageindex-1)*@pagecount+1
set @endrow=@pageindex*@pagecount
declare @sqlstr nvarchar(500)
set @sqlstr='with table1 as(select '+ @columns +',ROW_NUMBER() OVER(ORDER BY '+ @sortcolumn+' ) AS ROW'+ ' from '+@tablename+')'
if @wheres !=''
begin
set @sqlstr=@sqlstr +' SELECT * from TABLE1 WHERE '+@wheres+' and ROW BETWEEN '+cast(@beginrow as nvarchar )+' and '+cast(@endrow as nvarchar)
end
else
begin
set @sqlstr=@sqlstr +' SELECT * from TABLE1 WHERE ROW BETWEEN '+cast(@beginrow as nvarchar )+' and '+cast(@endrow as nvarchar)
end
exec(@sqlstr)
end
红色的那句话执行不了!
就是获取表中有多少条数据!
求解决方案!谢谢了!分而不是问题!
SQL code:
改成:
exec('select id fr
相关问答:
如何在SQL2005中设定定时作业,比如说定时清理某些表的数据,
或者是定时的将某些表的数据导出excel!
在线等待,急急急,最好是详细步骤!
之前我做的作业有点问题!
帮UP
参考:http://hi.baidu.com/toiota ......
tab1 字段:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 字段:goodsid,goodskind(商品类型)
tab3 字段:goodskind(商品类型),kindname
结果:
得到商品类型在一段时间 ......
字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......
我想查询出每天数据的最大的一个值。表的格式如下
表名: hisdata
字段 编号 值 状态 时间
Id value state dattime
101 32.3 0 ......
我觉得mysql和sqlserver有共同的地方:
有个问题是关于表的锁问题:
进程A 进程B
select * from user where id in lock share mode(共享锁)
&nb ......