我有以下SQL Procedure代码:
description=''.join(result),
跑步时,给我:https://i.imgur.com/zEEKpya.png
我正在尝试显示此节目:https://i.imgur.com/7fvAc6O.png
有什么想法可以打印标题吗?
DBMS_OUTPUT.PUT_LINE似乎受到限制
谢谢!
PS,我尝试在循环之前使用DBMS_OUTPUT.PUT_LINE,但出错了:
12/1 PLS-00103:预期时遇到符号“ DBMS_OUTPUT” 以下之一: 循环 用符号“循环”代替“ DBMS_OUTPUT”继续。
20/5 PLS-00103:预期时遇到符号“ NUMOFSUPPLIER” 以下之一: 循环
尝试时出错:
create or replace procedure numOfSupplier(X IN NUMBER)IS
OUTPUT VARCHAR(500);
BEGIN
FOR supplerTable IN (SELECT R_NAME, N_NAME
FROM SUPPLIER join NATION on S_NATIONKEY = N_NATIONKEY
join REGION on N_REGIONKEY = R_REGIONKEY
GROUP BY R_NAME, N_NAME
HAVING COUNT (S_NATIONKEY) > X)
LOOP
DBMS_OUTPUT.PUT_LINE (supplerTable.R_NAME || supplerTable.N_NAME);
END LOOP;
END numOfSupplier;
/
答案 0 :(得分:0)
您不能将DBMS_OUTPUT.PUT_LINE
放在循环标题的中间。您必须将其完全放在循环之前。
...
DBMS_OUTPUT.PUT_LINE ('<The header goes here>');
FOR supplerTable IN (...) LOOP
DBMS_OUTPUT.PUT_LINE (supplerTable.R_NAME || supplerTable.N_NAME);
END LOOP;
...