パラメータとして既存のテーブルを使用する単純なストアド プロシージャを作成したいと考えています。
この手順はうまくいくはずだと思いました:
@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' が無効です。
何かアドバイス?