Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изградете динамичен списък от стойности на оператор INSERT

Помислете за следната команда:

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

Това ще създаде SELECT изявление за конкретна таблица. За да създадете INSERT може да изглежда така:

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, '') + ')'

Разбира се, има много начини да стигнете до INSERT изявление, оформете го по ваш вкус.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Можете ли да се обадите на уеб услуга от TSQL код?

  2. Как да заредя XML файл в база данни с помощта на SSIS пакет?

  3. SQL връзка с публичен IP, именуван екземпляр и номер на порт

  4. Как да изпращам имейл от SQL Server?

  5. SQL Server Express репликация/синхронизация на база данни