在SQL Server中是否可以執行IF ELSE THEN?
例如,我想執行IF我的查詢結果是NOT NULL(我的行是存在的)。它將繼續進行THEN陳述句
ELSE 如果我的查詢結果是NULL(我的行不存在),它將繼續到另一個THEN陳述句
對于T-SQL的例子,我們可以看到,我們的查詢結果是NULL(我的行不存在)。
對于T-SQL例子,這只是假的SQL腳本
IF (SELECT * FROM TABLE_A) IS NOTNULL THEN
(INSERT INTO TABLE_B)
ELSE[/span]'T PERFORM ANY QUERY)
謝謝你
uj5u.com熱心網友回復:
你可以在INSERT的WHERE子句中使用你的SELECT陳述句,像這樣:
INSERT INTO TABLE_B(...)
SELECT ...
FROM ...
WHERE EXISTS(SELECT * FROM TABLE_A) 。
然后用IF @@ROWCOUNT > 0 THEN測驗是否有東西被插入。
uj5u.com熱心網友回復:
你可以檢查該表是否回傳任何記錄,然后執行SELECT INTO操作
IF EXISTS(SELECT 1 FROM TABLE_A)
BEGIN[/span
SELECT * INTO TABLE_B FROM TABLE_A
END。
uj5u.com熱心網友回復:
假設你只是想把特定的行從A插入到B中,那么你可以使用:
INSERT INTO TABLE_B ( . . . ) --在此列出列
SELECT . .
FROM TABLE_A;
如果沒有行,那么就沒有東西被插入。 就這么簡單。
實際上,它比這更簡單。 使用IF會在你的代碼中引入競賽條件。 TABLE_A在執行IF和INSERT之間可能會發生變化,所以代碼不是執行緒安全的。 這段代碼不存在這個問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/314816.html
標籤:


