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

pembaruan sql dengan nama kolom dinamis

Anda memiliki campuran SQL dan SQL dinamis dalam kueri Anda terhadap information_schema . Juga QUOTENAME tidak diperlukan dalam klausa where dan benar-benar akan mencegah kecocokan sama sekali, karena SQL Server menyimpan column_name , bukan [column_name] , dalam metadata. Terakhir, saya akan mengubahnya menjadi sys.columns karena ini caranya kita harus menurunkan metadata di SQL Server . Coba:

SELECT  @colnames += ',' + name 
  FROM Prod.sys.columns
  WHERE OBJECT_NAME([object_id]) = @objname
  AND name <> CASE WHEN @objname = 'TableXx' THEN 'ExcludeCol1' ELSE '' END
  AND name <> CASE WHEN @objname = 'TableYy' THEN 'ExcludeCol2' ELSE '' END;

SET @colnames = STUFF(@colnames, 1, 1, '');



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CTE rekursif dengan pengidentifikasi unik harus memiliki nilai dalam jangkar

  2. Menghitung jarak antara dua titik (Lintang, Bujur)

  3. ukuran baris maksimum terlampaui saat menyalin bidang varbinary(max)

  4. Berapa ukuran batch yang direkomendasikan untuk SqlBulkCopy?

  5. Bagaimana cara memilih data tabel dari database lain di SQL Server?