1

パラメータとして既存のテーブルを使用する単純なストアド プロシージャを作成したいと考えています。

この手順はうまくいくはずだと思いました:

@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' が無効です。

何かアドバイス?

4

1 に答える 1