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

Thêm một cột nếu nó không tồn tại cho tất cả các bảng?

Bạn không thể sử dụng các biến, như @tableName, trong DDL. Bên cạnh đó, việc tách tên thành một phần và bỏ qua lược đồ chỉ có thể dẫn đến lỗi. Bạn chỉ nên sử dụng thay thế ''? '' Trong tham số lô SQL và dựa vào MSforeachtable thay thế:

EXEC sp_MSforeachtable '
if not exists (select * from sys.columns 
               where object_id = object_id(''?'')
               and name = ''CreatedOn'') 
begin
    ALTER TABLE ? ADD CreatedOn datetime NOT NULL DEFAULT getdate();
end';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xóa số khỏi máy chủ sql chuỗi

  2. Cách sử dụng Try Catch để hiển thị Lỗi đăng nhập cho chuỗi kết nối (App.Config)

  3. Cách tính hình vuông trong SQL Server

  4. Làm cách nào để giảm kích thước tệp nhật ký máy chủ sql của tôi?

  5. Sử dụng OBJECTPROPERTY () để xác định xem một đối tượng có phải là dạng xem trong SQL Server hay không