SQL 服务器过程参数使用

SQL Server Procedure Parameter Using

我成功地创建了一个过程,但是我在执行过程时使用参数有问题

CREATE PROCEDURE TestProc 
     @table varchar(200)    
AS   
     UPDATE [test].[dbo].[@table]           
     SET [Column 9] = [Column 10]
     WHERE [Column 9] = 'Example1' 
        OR [Column 9] = 'Example2'     
GO

当程序这样执行时

EXEC TestProc @table= '2015-07'

我要更新 table [test].[dbo].[2015-07].

有人知道如何解决这个问题吗?

如果我理解正确,您想将 table 的名称传递给过程,并在过程中更新此 table。尝试使用下面的代码,但它仅适用于具有 Column 9Column 10

的 table
CREATE PROCEDURE TestProc @table varchar(200)    
AS   
DECLARE @SQL varchar(500)
SET @SQL = 'UPDATE [test].[dbo].[' + @table + ']           
            SET [Column 9]=[Column 10]
            WHERE [Column 9]= ''Example1'' OR [Column 9]=''Example2''' 
EXEC (@SQL) 
GO