是否可以在 SQL Server 中執行 IF ELSE THEN ?
例如我想執行IF我的查詢結果是NOT NULL(我的行存在)。它將繼續THEN宣告

ELSE如果我的查詢結果是NULL(我的行不存在),它將繼續執行另一個THEN陳述句

對于 T-SQL 示例,這只是一個虛擬的 SQL 腳本
IF (SELECT * FROM TABLE_A) IS NOTNULL THEN
(INSERT INTO TABLE_B)
ELSE
(DIDN'T PERFORM ANY QUERY)
謝謝
uj5u.com熱心網友回復:
您可以檢查表是否回傳任何行,然后執行 SELECT INTO 操作
IF EXISTS (SELECT 1 FROM TABLE_A)
BEGIN
SELECT * INTO TABLE_B FROM TABLE_A
END;
uj5u.com熱心網友回復:
您可以SELECT在your的WHERE子句中使用您的陳述句INSERT,如下所示:
INSERT INTO TABLE_B(...)
SELECT ...
FROM ...
WHERE EXISTS(SELECT * FROM TABLE_A);
然后測驗是否插入了任何東西IF @@ROWCOUNT > 0 THEN。
uj5u.com熱心網友回復:
假設您只想將 A 中的特定行插入到 B 中,那么您可以使用:
INSERT INTO TABLE_B ( . . . ) -- list the columns here
SELECT . . .
FROM TABLE_A;
如果沒有行,則不會插入任何內容。就是這么簡單。
實際上,它比這更簡單。使用會IF在您的代碼中引入競爭條件。該TABLE_A會的執行之間改變IF和INSERT,因此代碼不是執行緒安全的。這段代碼沒有這個問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/366092.html
標籤:sql sql-server 查询语句 sql-server-2008 sql-server-2012
上一篇:屬性XXX不會在使用Typescript的“Computed”型別上退出
下一篇:類別庫中的C#例外-事件處理程式
