ホームページ > データベース > mysql チュートリアル > クエリを使用して既存のテーブルに対する SQL CREATE スクリプトを生成するにはどうすればよいですか?

クエリを使用して既存のテーブルに対する SQL CREATE スクリプトを生成するにはどうすればよいですか?

DDD
リリース: 2025-01-14 06:40:43
オリジナル
815 人が閲覧しました

クエリを使用して既存のテーブルに対する 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>
ログイン後にコピー

生成されたスクリプトを表示します。 正確なスクリプトはテーブルの特定の構造と制約によって異なることに注意してください。

How Can I Generate SQL CREATE Scripts for Existing Tables Using a Query?

以上がクエリを使用して既存のテーブルに対する SQL CREATE スクリプトを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート