CREATE PROCEDURE 过程名
@rowscount int output,
as
set @rowscounSQL = 'select @rowscount=count(Used_ID) From Used_Auto'
exec(@rowscounSQL)出错如下
服务器: 消息 137,级别 15,状态 1,行 1
[Microsoft][ODBC SQL Server Driver][SQL Server]必须声明变量 '@rowscount'。
@rowscount int output,
as
set @rowscounSQL = 'select @rowscount=count(Used_ID) From Used_Auto'
exec(@rowscounSQL)出错如下
服务器: 消息 137,级别 15,状态 1,行 1
[Microsoft][ODBC SQL Server Driver][SQL Server]必须声明变量 '@rowscount'。
@rowscount int output,
as
select @rowscount=count(Used_ID) From Used_Auto
@rowscount int output,
as
set @rowscounSQL = 'select ' +@rowscount + '=count(Used_ID) From Used_Auto'
exec(@rowscounSQL)應該要這樣
服务器: 消息 245,级别 16,状态 1,过程 test,行 5
[Microsoft][ODBC SQL Server Driver][SQL Server]将 varchar 值 'select ' 转换为数据类型为 int 的列时发生语法错误。
@rowscount int output
as
declare @rowscounSQL Nvarchar(2000)
set @rowscounSQL = 'select @rowscount=count(Used_ID) From Used_Auto'
EXEC sp_executesql @rowscounSQL, N'@rowscount int Output',@rowscount Output
CREATE PROCEDURE 过程名
@rowscount int output,
as
set @rowscounSQL = 'select ' +@rowscount + '=count(Used_ID) From Used_Auto'
exec(@rowscounSQL)應該要這樣
------------
這種寫法肯定是錯誤的。這種問題,使用sp_executesql可以解決。樓主的語句如果不需要使用動態語句的話,可以直接select @rowscount=count(Used_ID) From Used_Auto
真是高手!!
if(@num>0)
BEGIN
set @sql='select top '+convert(varchar(8),@num)+' id into #user from user where upf=0 order by newid()'
execute(@sql)
END给你一个例子,这个是我用过的,绝对正确,希望能够对你有帮助。
if(@num>0)
BEGIN
set @sql='select top '+convert(varchar(8),@num)+' id into #user from user where upf=0 order by newid()'
execute(@sql)
END给你一个例子,这个是我用过的,绝对正确,希望能够对你有帮助。