IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'X' AND COLUMN_NAME = 'Y')
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Z' AND COLUMN_NAME = 'A')
BEGIN
UPDATE [dbo].[X]
SET Y= (SELECT inst.[A] FROM [dbo].[Z] s WHERE s.[B] = [dbo].[x].[B]);
END
GO
Tôi muốn kết hợp 2 IF confitions và thực hiện cập nhật chỉ khi cả hai đều hài lòng. Có cách nào để tôi có thể câu lạc bộ 2 IF EXISTS không?Làm cách nào tôi có thể sử dụng và điều kiện trong IF EXISTS trong SQL?
Hoặc, thực sự nhìn vào mã của bạn, nó sẽ làm việc như viết - IF thứ 2 được lồng dưới 1. Chỉ cần thêm các tab :) –
Ngoài ra, bạn nên bao gồm TABLE_SCHEMA trong truy vấn INFORMATION_SCHEMA.COLUMNS của bạn, nếu không bạn sẽ nhận được kết quả sai nếu cùng một tên bảng tồn tại trong một lược đồ khác. –
G, nếu cột A hoặc cột Y không tồn tại hoặc bị xóa thì sao? Tôi gặp lỗi trong trường hợp đó. Msg 207, Cấp 16, Tiểu bang 1, Dòng 5 Tên cột không hợp lệ 'A'. – user811433