需要為現有 SQL Server 資料表快速產生 CREATE TABLE
語句? 本指南展示如何使用查詢、利用 sys.tables
.
一種方法涉及建立動態 SQL 語句。 基本結構是這樣開始的:
<code class="language-sql">DECLARE @sql NVARCHAR(MAX) = 'CREATE TABLE [' + @table_name + '] (';</code>
這會動態構造 CREATE TABLE
語句的初始部分,並將 @table_name
替換為實際的表名稱。
接下來,您將附加列詳細資料:名稱、資料類型、長度、可為空性和任何約束。 以下是名為 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
長度並指定可為空性。 您將為每一列重複此操作。
最後,您將新增主鍵和外鍵約束。 建構完整的 CREATE TABLE
語句後,使用:
<code class="language-sql">PRINT CAST(@sql AS NTEXT);</code>
顯示產生的腳本。 請注意,確切的腳本將根據表的具體結構和約束而有所不同。
以上是如何使用查詢為現有表產生 SQL CREATE 腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!