動的な値からテーブルを作成できますが、結合で使用するときにそのテーブルを参照できません。
DECLARE @UserName varchar(5)
DECLARE @EmpRacfid varchar(max)
SET @UserName = RIGHT(SYSTEM_USER,5)
SET @EmpTable = 'dbo.Employee_' + @UserName
CROSS JOIN @EmpTable emp
次のメッセージが表示されます。
メッセージ 1087、レベル 16、状態 1、行 19 テーブル変数「@EmpTable」を宣言する必要があります。
私もこのようなことを試みましたが、それも失敗しました:
CROSS JOIN '[dbo].[Employee_' + @UserName + ']' emp
誰かがこれをやったことがあるかどうか、またはそれが可能かどうかを知っているかどうか疑問に思っていました。