T-SQLで変数名を使用してテーブルを作成する方法


  1. 静的な変数名を使用する方法 テーブルを作成する際に、静的な変数名を使用することができます。以下の例を参考にしてください。
DECLARE @tableName NVARCHAR(50) = 'MyTable'
CREATE TABLE dbo.[ + @tableName + '] (
    Column1 INT,
    Column2 VARCHAR(50)
)

この例では、@tableName 変数にテーブル名を指定し、それをテーブル作成のクエリの中で展開しています。

  1. 動的な変数名を使用する方法 動的な変数名を使用すると、実行時に変数の値に基づいてテーブル名を作成することができます。以下の例を参考にしてください。
DECLARE @tableName NVARCHAR(50) = 'MyTable'
DECLARE @sql NVARCHAR(MAX)
SET @sql = 'CREATE TABLE dbo.' + QUOTENAME(@tableName) + ' (
    Column1 INT,
    Column2 VARCHAR(50)
)'
EXEC sp_executesql @sql

この例では、@tableName 変数にテーブル名を指定し、QUOTENAME 関数を使用してテーブル名をエスケープしています。その後、sp_executesql ストアドプロシージャを使用して動的なクエリを実行しています。

これらの方法を使用すると、変数名を使用して動的なテーブル作成を行うことができます。必要に応じて、テーブル作成時にカラムや制約などの詳細な定義を追加することもできます。

この記事では、T-SQLで変数名を使用したテーブル作成の方法を解説しました。これにより、柔軟性のあるデータベース操作が可能になります。