ストアド プロシージャに次の SQL コードがあります。
CREATE PROCEDURE sp_createAColDiffTable (@table_name nvarchar(128))
AS
CREATE TABLE @table_name (
[table_name] VARCHAR (128) NOT NULL,
[column_name] VARCHAR (128) NULL,
[what_changed] VARCHAR (128) NULL,
[sr_data_type] VARCHAR (128) NOT NULL,
[tr_data_type] VARCHAR (128) NOT NULL,
[sr_max_length] SMALLINT NOT NULL,
[tr_max_length] SMALLINT NOT NULL,
[sr_is_nullable] CHAR NULL,
[tr_is_nullable] CHAR NULL,
[sr_precision] SMALLINT NULL,
[tr_precision] SMALLINT NULL,
[sr_scale] SMALLINT NULL,
[tr_scale] SMALLINT NULL )
ON [PRIMARY]
WITH (DATA_COMPRESSION = NONE)
次のようにストアド プロシージャを呼び出します。
EXEC [sp_createAColDiffTable] 'hq193.dbo.arch_con_col_s193_s202'
コードを実行すると、次のエラーが表示されます。
'@table_name' 付近の構文が正しくありません。
実際のテーブル名に置き換えると、@table_name
正常に機能します。誰かが私の構文の問題を指摘できますか?