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'。

解决方案 »

  1.   

    CREATE PROCEDURE 过程名
    @rowscount int output,
    as
    select @rowscount=count(Used_ID) From Used_Auto
      

  2.   

    CREATE PROCEDURE 过程名
    @rowscount int output,
    as
    set @rowscounSQL = 'select ' +@rowscount + '=count(Used_ID) From Used_Auto'
    exec(@rowscounSQL)應該要這樣
      

  3.   

    TO:xmlquit(下輩子再也不玩電腦) ( ) 信誉:100 
    服务器: 消息 245,级别 16,状态 1,过程 test,行 5
    [Microsoft][ODBC SQL Server Driver][SQL Server]将 varchar 值 'select ' 转换为数据类型为 int 的列时发生语法错误。
      

  4.   

    CREATE PROCEDURE 过程名
    @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
      

  5.   

    xmlquit(下輩子再也不玩電腦) ( ) 信誉:100  2007-08-01 16:51:53  得分: 0  
     
     
       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
      

  6.   

    谢谢paoluo(一天到晚游泳的鱼) ( ) 信誉:100 
    真是高手!!
      

  7.   

    declare num int,@sql varchar(255)
     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给你一个例子,这个是我用过的,绝对正确,希望能够对你有帮助。
      

  8.   

    declare @num int,@sql varchar(255)
     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给你一个例子,这个是我用过的,绝对正确,希望能够对你有帮助。
      

  9.   

    AeroRoad,先看清楚需求,你的代碼和樓主的需求是不一樣的。