Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Buat daftar dinamis nilai pernyataan INSERT

Perhatikan perintah berikut:

SELECT 'SELECT ' +
    STUFF ((
        SELECT ', [' + name + ']'
        FROM syscolumns
        WHERE id = OBJECT_ID('Table') AND
            name <> 'me'
        FOR XML PATH('')), 1, 1, '') +
    ' FROM [Table]'

Itu akan membangun SELECT pernyataan untuk tabel tertentu. Untuk membuat INSERT pernyataan itu mungkin terlihat seperti ini:

SELECT @sql = 'INSERT INTO [Table] (' +
    STUFF ((
        SELECT ', [' + name + ']'
        FROM syscolumns
        WHERE id = OBJECT_ID('Table') AND
            name <> 'me'
        FOR XML PATH('')), 1, 1, '') +
    ') VALUES (' +
    STUFF ((
        SELECT ', @' + name
        FROM syscolumns
        WHERE id = OBJECT_ID('Table') AND
            name <> 'me'
        FOR XML PATH('')), 1, 1, '') + ')'

Tentu saja ada banyak cara untuk membuka INSERT pernyataan, bentuk sesuai keinginan Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Denormalisasi Data (Mungkin Pivot?)

  2. Beberapa baris menjadi satu baris dan menggabungkan kolom SQL

  3. Kinerja INNER JOIN vs LEFT JOIN di SQL Server

  4. Cara Memperbaiki "Hanya satu ekspresi yang dapat ditentukan dalam daftar pilih ..." di SQL Server

  5. SQL Server:Kegagalan tautan komunikasi Diperlukan SSL (gagal menerima paket)