我要写一个存储过程,输入参数是一个表名,然后运行update的语句
比如
update testtable set X=0
WHERE Y in (select Y from dbtest.test2.dbo.testtable2)
输入的参数就是更改这语句中的dbtest.test2.dbo.testtable2这个表 请问该怎么写?
------解决方案--------------------
CREATE PROCEDURE sp_x(
@tableName varchar(50)
)
AS
BEGIN
DECLARE @sql varchar(100)
SET @sql = 'update testtable set X=0 ' +
'WHERE Y in (select Y from ' + @tableName + ')'
EXECUTE @sql
END