Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menjana Skrip SQL CREATE untuk Jadual Sedia Ada Menggunakan Pertanyaan?
Perlu menjana penyataan CREATE TABLE
dengan cepat untuk jadual SQL Server sedia ada anda? Panduan ini menunjukkan cara untuk mencapai ini menggunakan pertanyaan, memanfaatkan jadual sistem seperti sys.tables
.
Satu kaedah melibatkan membina pernyataan SQL dinamik. Struktur asas bermula seperti ini:
<code class="language-sql">DECLARE @sql NVARCHAR(MAX) = 'CREATE TABLE [' + @table_name + '] (';</code>
Ini secara dinamik membina bahagian awal pernyataan CREATE TABLE
, menggantikan @table_name
dengan nama jadual sebenar.
Seterusnya, anda akan menambahkan butiran lajur: nama, jenis data, panjang, kebolehbatalan dan sebarang kekangan. Berikut ialah contoh untuk lajur VARCHAR
bernama 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>
Coretan ini menambah takrifan lajur, mengendalikan MAX
panjang dengan sewajarnya dan menentukan kebolehtelapan. Anda akan mengulangi ini untuk setiap lajur.
Akhir sekali, anda akan menambah kekangan kunci utama dan asing. Selepas membina pernyataan CREATE TABLE
yang lengkap, gunakan:
<code class="language-sql">PRINT CAST(@sql AS NTEXT);</code>
untuk memaparkan skrip yang dihasilkan. Harap maklum bahawa skrip yang tepat akan berbeza-beza bergantung pada struktur dan kekangan khusus jadual anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Skrip SQL CREATE untuk Jadual Sedia Ada Menggunakan Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!