Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

cập nhật sql với tên cột động

Bạn có sự kết hợp giữa SQL và SQL động trong truy vấn của mình đối với information_schema . Ngoài ra QUOTENAME không cần thiết trong mệnh đề where và sẽ thực sự ngăn không cho khớp, vì SQL Server lưu trữ column_name , không phải [column_name] , trong siêu dữ liệu. Cuối cùng, tôi sẽ thay đổi nó thành sys.columns vì đây là cách chúng ta nên lấy siêu dữ liệu trong SQL Server . Hãy thử:

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. Phương pháp chính xác để xóa hơn 2100 hàng (theo ID) với Dapper

  2. Xuất dữ liệu từ một chế độ xem

  3. Đặt Identity thành bật hoặc tắt trong máy chủ SQL

  4. SQL:GIỮA với <=và> =

  5. Công cụ miễn phí để so sánh hai Cơ sở dữ liệu SQL Server là gì?