我想通過兩個獨立的表來搜索特定值的COUNT
並從一個函數返回它的數量的總和。返回兩個單獨的表PL/SQL
FUNCTION check_parts
(p_partno IN VARCHAR2)
RETURN NUMBER
IS
out_exists NUMBER;
sub_exists NUMBER;
BEGIN
SELECT COUNT(*) INTO out_exists
FROM outline_pn op
WHERE op.outline_pn = p_partno
UNION ALL
SELECT COUNT(*)
FROM sub_pn sp
WHERE sp.sub_assy_pn = p_partno;
-- SELECT (SELECT COUNT(*) AS out_exists
-- FROM outline_pn op
-- WHERE op.outline_pn = p_partno) AS out_exists,
-- (SELECT COUNT(*) AS sub_exists
-- FROM sub_pn sp
-- WHERE sp.sub_assy_pn = p_partno) AS sub_exists
RETURN (out_exists + sub_exists);
END check_parts;
起初我還天真地以爲兩個獨立COUNT(*)
查詢會工作......沒有。
如何總結兩個獨立COUNT
查詢的值,並返回結果?
任何幫助表示讚賞。
您在註釋掉查詢選擇'AS' sub_exists而不是選項'INTO';當你之前嘗試過時,你是如何擁有它的?如果是這樣,那聽起來像是你的問題。 –
是的,我想既是而成。當我使用INTO時,它不會編譯並拋出'PL/SQL:ORA-01744:不適當的INTO'異常。當我使用AS時,它不會編譯。 – corporateWhore
@corporateWhore你不想使用兩個單獨的查詢任何理由嗎? – Hawk