Tình huống:
Bạn đang làm việc trong Công ty Bảo hiểm Ô tô với tư cách là Nhà phát triển SQL Server. Công ty của bạn có một cơ sở dữ liệu trong đó họ có hơn 300 Bảng. Trong thiết kế ban đầu, họ đã quên thêm các cột Kiểm toán như CreatedBy và CreatedOn. Họ muốn bạn tạo Thêm cột CreatedBy và CreatedOn cho tất cả các Bảng trong Cơ sở dữ liệu, Bạn sẽ làm điều đó như thế nào?Giải pháp:
Có nhiều cách để tạo Câu lệnh SQL cho yêu cầu trên, chúng tôi sẽ giữ cho nó đơn giản và nhanh chóng. Chúng tôi sẽ sử dụng Truy vấn Chọn để tạo Thêm Câu lệnh Cột cho tất cả các bảng.Hãy tạo các tập lệnh theo cách để chúng tôi phải thực hiện các thay đổi rất nhỏ mỗi lần và chúng tôi có thể sử dụng bất kỳ lúc nào để thêm cột mới. Tôi đã khai báo hai biến, @ColumnName và @ColumnDataType. Sau khi chúng tôi sẽ cung cấp các giá trị cho các biến. Truy vấn Chọn sẽ kiểm tra tất cả các bảng và nếu cột không tồn tại cho bảng, nó sẽ tạo câu lệnh Thêm cột.
--Declare Variables for Column Name and Data Type Declare @ColumnName VARCHAR(100) Declare @ColumnDataType VARCHAR(50) --Set the Values for Variables SET @ColumnName='CreatedBy' SET @ColumnDataType='VARCHAR(50)' --Run the Query and copy results and paste in new window to run. Select 'ALTER Table ['+Table_Schema+'].['+Table_Name+'] ' +'Add '+@ColumnName+' '+@ColumnDataType AS AddColumnQuery from Information_Schema.Tables T where T.Table_Type='BASE TABLE' And Not exists ( Select 1 from INFORMATION_SCHEMA.COLUMNS C WHERE C.TABLE_Name=T.Table_Name and Column_Name=@ColumnName)
Chạy truy vấn trên và sao chép kết quả sang Windows Truy vấn mới, Chọn Cơ sở dữ liệu mà bạn muốn chạy và thực thi.
Cách tạo câu lệnh SQL thêm cột cho tất cả các bảng trong cơ sở dữ liệu - Hướng dẫn T-SQL
Video Demo:Tạo Câu lệnh Thêm / Thả Cột cho tất cả các bảng trong Cơ sở dữ liệu trong SQL Server