我想创建一个简单的存储过程,它将现有表作为参数。
我认为这个程序应该有效:
@UserID INT,
@TableName varchar(255)
AS
BEGIN
IF(@UserID is not null)
BEGIN
update t
set t.ProductID = 100
from dbo.[@TableName] t
END
当我使用表名执行此存储过程时,查询完成但出现错误:
无效的对象名称“dbo.@TableName”。
有什么建议吗?