Har*_*uri 0 oracle plsql sqlplus oracle11g oracle-sqldeveloper
我试图使用SQLPLUS从我的plsql块执行该过程,遗憾的是,我无法在执行SQL脚本之后看到来自过程的"dbms_output.put_line"的输出,尽管输出在假脱机文件中可见,我想在执行完成后在屏幕上显示输出.
现在,虽然当我执行"SET SERVEROUTPUT ON"时,我得到提示但没有输出 在SQL开发人员中它显示输出,一旦执行完成,我该怎么做才能看到sqlplus中的输出.
在SQLPLUS中输出
SQL Developer中的输出
表结构和数据
create table cust_temp_temp
(name varchar2(20) , id varchar2(20));
insert into cust_temp_temp
select 'hasu t', '100' from dual
union all
select 'hasu r', '100' from dual
union all
select 'hasu e', '100' from dual
union all
select 'hasu w', '100' from dual
union all
select 'hasu q', '100' from dual;
Run Code Online (Sandbox Code Playgroud)
包装结构:
CREATE OR REPLACE PACKAGE CUSTOM_PKG
AS
PROCEDURE get_transaction_details(
id_ cust_temp_temp.id%TYPE);
END CUSTOM_PKG;
/
Run Code Online (Sandbox Code Playgroud)
包装体:
CREATE OR REPLACE PACKAGE BODY CUSTOM_PKG
AS
PROCEDURE get_transaction_details
(
id_ cust_temp_temp.id%TYPE
)
AS
BEGIN
dbms_output.put_line('SESSION DETAILS : ');
FOR CUR_CUSTOM_LOG IN
(SELECT name,
id
FROM cust_temp_temp
WHERE id = id_
)
LOOP
dbms_output.put_line('Name : '||CUR_CUSTOM_LOG.name);
dbms_output.put_line('Id : '||CUR_CUSTOM_LOG.id);
END LOOP;
dbms_output.put_line('----------------');
END;
END CUSTOM_PKG;
/
Run Code Online (Sandbox Code Playgroud)
脚本:
SPOOL temp.lst;
SET TIME ON;
SET DEFINE OFF;
SET TERMOUT OFF;
SET PAGESIZE 20000;
SET LINESIZE 150;
SET ECHO ON;
SET SERVEROUTPUT ON;
BEGIN
CUSTOM_PKG.get_transaction_details(10);
END;
/
SET ECHO OFF;
SET TIME OFF;
SET LINESIZE 100;
SET TERMOUT ON;
SET DEFINE ON;
SPOOL OFF;
Run Code Online (Sandbox Code Playgroud)
输出在您的假脱机文件中捕获temp.lst.它没有显示给终端因为
set termout off
Run Code Online (Sandbox Code Playgroud)
在我的测试中,temp.lst包含:
10:56:15 SQL> SET SERVEROUTPUT ON;
10:56:15 SQL> BEGIN
10:56:15 2 CUSTOM_PKG.get_transaction_details(10);
10:56:15 3 END;
10:56:15 4 /
SESSION DETAILS :
----------------
PL/SQL procedure successfully completed.
10:56:15 SQL> SET ECHO OFF;
Run Code Online (Sandbox Code Playgroud)
没有实际结果,因为所有ID都是100而你正在传递10.
| 归档时间: |
|
| 查看次数: |
4457 次 |
| 最近记录: |