ホームページ >データベース >mysql チュートリアル >クエリを使用して既存のテーブルに対する SQL CREATE スクリプトを生成するにはどうすればよいですか?
既存の SQL Server テーブルに対して CREATE TABLE
ステートメントを迅速に生成する必要がありますか? このガイドでは、sys.tables
.
1 つの方法には、動的 SQL ステートメントの構築が含まれます。 基本的な構造は次のように始まります:
<code class="language-sql">DECLARE @sql NVARCHAR(MAX) = 'CREATE TABLE [' + @table_name + '] (';</code>
これにより、CREATE TABLE
ステートメントの最初の部分が動的に構築され、@table_name
が実際のテーブル名に置き換えられます。
次に、名前、データ型、長さ、NULL 値の許容性、制約などの列の詳細を追加します。 VARCHAR
という名前の CustomerName
列の例を次に示します。
<code class="language-sql">@sql += CHAR(9) + ', [' + c.name + '] ' + UPPER(tp.name) + ' (' + CASE WHEN c.max_length = -1 THEN 'MAX' ELSE CAST(c.max_length AS VARCHAR(5)) END + ')' + CASE WHEN c.is_nullable = 1 THEN ' NULL' ELSE ' NOT NULL' END + CHAR(13);</code>
このスニペットは列定義を追加し、MAX
の長さを適切に処理し、null 可能性を指定します。 これを列ごとに繰り返します。
最後に、主キー制約と外部キー制約を追加します。 完全な CREATE TABLE
ステートメントを構築した後、次を使用します。
<code class="language-sql">PRINT CAST(@sql AS NTEXT);</code>
生成されたスクリプトを表示します。 正確なスクリプトはテーブルの特定の構造と制約によって異なることに注意してください。
以上がクエリを使用して既存のテーブルに対する SQL CREATE スクリプトを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。