1.情景展示
在plsql中如何使用dbms_output輸出執行結果?

如上圖所示,運行后報錯:ora-00922

2.原因分析
set serveroutput on 語句的作用是:打開Oracle自帶的輸出方法dbms_output,在執行以后,使用dbms_output方法可以輸出信息。
但是,它是sqlplus語句,不是sql語句,所以不能在sql window中使用,該命令不是寫在pl/sql中的,而是在sql/plus中執行。SQL WINDOW里面可以不加set serveroutput on就可以使用dbms_output。
3.解決方案
也就是說,在plsql中,不能也不用調用這句話,是多余的,畫蛇添足!網絡上的代碼真是嚇人!
刪掉這行代碼
declare
v_score number := &score;
begin
if v_score >= 80 then
dbms_output.put_line('優秀');
elsif v_score >= 60 then
dbms_output.put_line('良好');
else
dbms_output.put_line('不好');
end if;
end;
執行

執行結束

到這里,很多人都傻眼了,搞什么,結果怎么沒有打印出來?

你剛在實在左側的SQL視圖中,切換到輸出視圖就能看到結果啦。
這,才是在plsql中使用的正確用法。
注意:
declare關鍵字前面可以加注釋,但是注釋內容不能含中文!

只要注釋中包含中文,必報這個錯,所以要么不用注釋,要么加英文注釋
存儲過程也是這樣查看輸出結果。
