我在SQL写了个存储过程,如下
 create proc query  @fieldname varchar(50),@value varchar(50) as
 select * from CUM where @fieldname=@value //@fieldname 数据库的一个字段
                                           //@value表示要查找的值执行存储过程,如下
execute query  'CUM_ID','0005'执行后没有找到对应的纪录,但是这条纪录是存在的

解决方案 »

  1.   

    可能是在存儲過程中不支持字段變量吧,試試這樣create proc query 
      @field varchar(50),
      @value varchar(50)
    as
      execute(' select * from cum where ' + @field + '=' + '''' + @value + '''')
    exec query 'CUM_ID','00005'
      

  2.   

    CREATE PROCEDURE query 
         @fieldname nvarchar(4000),
         @values nvarchar(4000)
     AS   declare @sql varchar(8000)
      set @sql='select * from Cum where '+@fieldname+'='+''''+@values+''''
    --print @sql
    exec(@sql)
    GO