错误的 复制代码 代码如下: alter proc testpapers as begin declare @tems nvarchar(max),@zidaun nvarchar(max) set @tems=select * from @tems order by @zidaun exec(@tems) end exec testpapers
错误的 复制代码 代码如下: alter proc testpapers as begin declare @tems nvarchar(max),@zidaun nvarchar(max) set @tems="select * from @tems order by @zidaun "; exec(@tems) end
exec testpapers
消息 1087,级别 15,状态 2,第 1 行 必须声明表变量 "@tems"。
将表名和字段名写到exec里边
正确的 复制代码 代码如下: alter proc testpapers as begin declare @startRow nvarchar(max),@tems nvarchar(max),@zidaun nvarchar(max) set @startRow="temp" set @tems="select * from "; set @zidaun="p_id"; exec(@tems+@startRow+" order by "+@zidaun) end