CREATE PROCEDURE List
(
@Table NVARCHAR(50),
@Page INT = 0,
@Number INT = 20,
@Field NVARCHAR(50) = '[ID]'
)
AS
-- 获取总页数
DECLARE @PageNumber INT
-- 问题:在这里如何把@Table 中的记录数赋给@PageNumber变量?
...全文
5919打赏收藏
头痛的难题
MS SQL SERVER SQL代码: CREATE PROCEDURE List ( @Table NVARCHAR(50), @Page INT = 0, @Number INT = 20, @Field NVARCHAR(50) = '[ID]' ) AS -- 获取总页数 DECLARE @PageNumber INT -- 问题:在这里如何把@Table 中的记录数赋给@PageNumber变量?
set @sql = 'select top '+ cast(@n as nvarchar) + '@aa=id from test order by id desc'
set @para='@aa int output'
execute sp_executesql @sql, @para, @id output
Create Procedure GetMaxID
@TableName varchar(100),
@ID int output
as
begin
declare @sql nvarchar(1000)
set @sql='select @ID = count(*) from '+@TableName
exec sp_executesql @sql,N'@id int output',@id output
end
declare @tcnt int
declare @paras varchar(100)
DECLARE @SQLString NVARCHAR(500)
set @paras ='1,3,5'
set @sqlstring=N'select @cnt=count(*) from sysobjects where id in ('+@paras+')'
set @tcnt=0
execute sp_executesql
@sqlstring,
N'@cnt int output',
@cnt=@tcnt output
select @tcnt
select * from sysobjects
Create Procedure GetMaxID
@TableName varchar(100), @ID int output
as
begin
declare @sql nvarchar(1000)
set @sql='select @ID = count(ID) from '+@TableName
exec sp_executesql @sql,N'@id int output',@id output
end