需求:根據某表是否為空,決定執行不同SQL陳述句
是否可以不用存盤程序直接用sql實作?
uj5u.com熱心網友回復:
我的思路是直接用if..else..BEGIN
IF (SELECT count(*) FROM t1) = 0
THEN SELECT count(*) FROM t1;
ELSE SELECT count(*) FROM t2;
END IF;
END;
執行報錯,IF語法錯誤。求解
uj5u.com熱心網友回復:
SELECT IIF(COUNT(*)=0,(SELECT COUNT(*) FROM t1),(SELECT COUNT(*) FROM t2)) FROM t1
SELECT (CASE WHEN COUNT(*)=0 THEN COUNT(*) ELSE (SELECT COUNT(*) FROM t2) END) Count FROM t1
uj5u.com熱心網友回復:
declare @a int
set @a =1
if @a = 1
begin
select 'a'
end
if @a =2
begin
select 'b'
end
這樣可以嗎?
uj5u.com熱心網友回復:
樓主的思路沒問題,就是寫法有一些問題IF
(
SELECT COUNT(*) FROM t1
) = 0
BEGIN
SELECT COUNT(*)
FROM t1;
END;
ELSE
BEGIN
SELECT COUNT(*)
FROM t2;
END;
uj5u.com熱心網友回復:
這樣寫語法錯誤,我用的pgsql
uj5u.com熱心網友回復:
幫您移到 pg sql 版塊了。
uj5u.com熱心網友回復:
你這個需要用到函式(存盤程序)啊,單條陳述句不行轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/10301.html
標籤:PostgreSQL
下一篇:exists多表查詢問題
