我有一個特定的表格,其中包含書籍列表及其名稱和成本。我想寫一個函數,以最低的成本找到並打印書名。 我寫了一個函數並調用它,並且我似乎沒有收到任何錯誤(函數編譯和Pl/SQL過程已成功完成)。但是我沒有看到任何實際的輸出。 這裏是我的代碼:用於在表格中查找最小成本項目的PI/SQL函數
CREATE OR REPLACE FUNCTION min_cost
RETURN VARCHAR2 IS
minCostOfBooks VARCHAR2(50);
BEGIN
SELECT NAME
INTO minCostOfBooks
FROM BOOKS
WHERE cost = (SELECT MIN(cost) FROM BOOKS);
RETURN minCostOfBooks;
END;
我這樣稱呼它:
DECLARE
d VARCHAR2(50);
BEGIN
d := min_cost();
dbms_output.put_line('Book(s) with lowest cost ' || d);
END;
很難知道問題是什麼,因爲我不似乎會看到任何錯誤。
[DBMS \ _OUTPUT.PUT \ _line不打印](可能的重複https://stackoverflow.com/questions/10434474/dbms-output -put-line-not-printing) – user2672165
'set serveroutput on size unlimited' while anyone must call get_line。 – 0xdb
當你運行'SELECT min_cost FROM dual;'會發生什麼? – krokodilko