我希望以下代码在返回 1 之前打印“abc”。
即使我跑了set serveroutput on,它仍然没有打印任何东西。
如果它不是一个函数,而是一个过程,它就会起作用。
有人可以向我解释我做错了什么吗?
谢谢。
CREATE OR REPLACE FUNCTION test (
code NUMBER
) RETURN NUMBER
IS
BEGIN
dbms_output.put_line('abc');
RETURN 1;
END;
SELECT
test(30)
FROM
dual;
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 SQL Developer,则应该添加
设置服务器输出
在调用函数之前。
然后,使用 F5(运行脚本)而不是 F9(运行语句)执行函数。这两种执行句子的模式的区别在于显示结果的模式。F5 将结果显示为 PLSQL 代码 F9 将结果显示为 SQL 代码。这样,您将只看到 SQL 的结果。
这是使用 F5 模式的输出:
测试(30)
Run Code Online (Sandbox Code Playgroud)1美国广播公司
否则,您应该将 select 语句包含到 PL_SQL 匿名块中。
| 归档时间: |
|
| 查看次数: |
5430 次 |
| 最近记录: |