CREATE PROCEDURE test
@TName varchar(255)
AS
select * from @TName where flag<>'0'
delete from @TName where flag='-1'
update @TName set flag='0'
GO

解决方案 »

  1.   

    CREATE PROCEDURE dbo.tranTable(@TName varchar(255)) 
    AS
    execute('select * from '+@TName+' where flag<>''0''')
    execute('delete from '+@TName+' where flag=''-1''')
    execute('update '+@TName+' set flag=''0''')
    GO
      

  2.   

    你需要使用动态sql,具体的用法这里你搜索一下,已经很多。
    如果你英文可以,推荐你一篇文章,很不错的:
    http://www.algonet.se/~sommar/dynamic_sql.html
      

  3.   

    CREATE PROCEDURE dbo.tranTable(@TName varchar(255)) 
    AS
    execute('select * from ['+@TName+'] where flag<>''0''')
    execute('delete from ['+@TName+'] where flag=''-1''')
    execute('update ['+@TName+'] set flag=''0''')
    GO
      

  4.   

    啊,怎么会给错了? 5555~~~~solidpanther(我爱机器猫) ( ) 信誉:100 真是不好意思。谢谢了!!!