早教吧 育儿知识 作业答案 考试题库 百科 知识分享

sqL2000存储过程不启做用--CREATEPROCEDURE[dbo].[getProductsTable]@actionnvarchar(50),--确定返回值@keysnvarchar(100),--用户输入的关键字符串@pageIndexint,--返回第几页@productCountint--每页商品数ASBEGIN--定义临

题目详情
sqL2000存储过程 不启做用
--
CREATE PROCEDURE [dbo].[getProductsTable]
@action nvarchar(50),--确定返回值
@keys nvarchar(100),--用户输入的关键字符串
@pageIndex int,--返回第几页
@productCount int--每页商品数
AS
BEGIN
--定义临时表@t,存储过程productSearch的结果放在这里
create table #t(productname nvarchar(200),whichtableid bigint,whichrowid bigint)
insert into #t(productname,whichtableid,whichrowid)
exec productSearch @action,@keys,@pageIndex,@productCount
select * from #t
declare @strSql nvarchar(4000)--定义sql语句存放的地方
declare @theProName nvarchar(200)--定义3个变量,遍历时分别用于存储各个字段
declare @theTableId bigint
declare @theRowid bigint
declare @theTableName nvarchar(100)
declare @cursor cursor --定义游标用游标拼接sql语句
set @cursor = cursor for
select * from #t
open @cursor
fetch next from @cursor into @theProName,@theTableId,@theRowid
while(@@FETCH_STATUS=0)
begin
select @theTableName=tablename from type1 where id = ltrim(@theTableId)
set @strSql =@strSql+' union select * from '+@theTableName+' where id='+ltrim
(@theRowid)
fetch next from @cursor into @theProName,@theTableId,@theRowid
end
close @cursor
deallocate @cursor
set @strSql = STUFF(@strSql,1,6,'')
set @strSql=@strSql
exec(@strSql)
END
GO
▼优质解答
答案和解析
近期帮你看下,解决了告诉你!—@飘摇诗涯
看了 sqL2000存储过程不启做...的网友还看了以下: