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 9
和 Column 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
我成功地创建了一个过程,但是我在执行过程时使用参数有问题
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 9
和 Column 10
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