ALTER proc [dbo].[pr_test]
(
@arg varchar(20)
)
as
declare @str varchar(100)
set @str='select * from t1 where arg='''+@arg+''''
exec @str 
set @str='select * from t2 where arg='''+@arg+''''
exec @str我这么写有什么错误啊

解决方案 »

  1.   

    ALTER proc [dbo].[pr_test]
    (
    @arg varchar(20)
    )
    as
    declare @str varchar(100)
    set @str='select * from t1 where arg='''+@arg+''''
    exec (@str)  
    set @str='select * from t2 where arg='''+@arg+''''
    exec (@str)
      

  2.   

    ALTER proc [dbo].[pr_test]
    (
    @arg varchar(20)
    )
    as
    begin
      declare @str varchar(100)
      set @str='select * from t1 where arg = ''' + @arg + ''''
      exec (@str)  
      set @str='select * from t2 where arg = ''' + @arg + ''''
      exec (@str)
    end