例如我创建了一个这样的存储过程,在内部有这句 select top @theNum theTypeName from typeTable,为什么这句使用参数提示语法错误?CREATE PROCEDURE [lr].[calTypeNameValue] @theNum int AS
..............
..............
select top @theNum theTypeName from typeTable
..............
..............
..............
select top @theNum theTypeName from typeTable
..............
在where后面用
除非你加output
declare @sql varchar(8000)
set @sql='select top '+ltrim(@theNum)+' theTypeName from typeTable'
exec (@sql)
......
什么意思,把theTypeName 赋值给@theNum ?
什么意思,把theTypeName 赋值给@theNum ?
我这个sql语句是用于游标的数据集declare typeNameCursor cursor for
exec (@sql)按照你的方法,提示语法出错,但是如果单独执行,你的方法可以,用于给游标调用的数据集,应该怎么写?
SET @SQL='select top '+LTRIM(@theNum)+'theTypeName from typeTable'
EXEC(@SQL)看看动态SQL的基本语法
........
........
DECLARE @SQL NVARCHAR(4000)
SET @SQL='select top '+LTRIM(@theNum)+'theTypeName from typeTable'declare typeNameCursor cursor for
EXEC(@SQL)
.........
.........
INSERT #T EXEC(@SQL)FOR SELECT * FROM #T