gpt4 book ai didi

oracle - 如何创建oracle sql脚本假脱机文件

转载 作者:行者123 更新时间:2023-12-02 03:22:18 25 4
gpt4 key购买 nike

我有一个关于假脱机程序结果的问题。我的示例 SQL 脚本如下所示。

  whenever sqlerror exit failure rollback
set heading off
set arraysize 1
set newpage 0
set pages 0
set feedback off
set echo off
set verify off

declare
ab varchar2(10) := 'Raj';
cd varchar2(10);
a number := 10;
c number;
d number;
begin
c := a+10;
select ab,c into cd,d from dual;
end;

SPOOL
select cd,d from dual;
SPOOL OFF
EXIT;

上面的脚本不起作用,但我想做这样的事情,在开始结束 block 中我们计算一些值,并且我想假脱机这些结果。

谢谢。

最佳答案

这会将匿名 block 的输出假脱机到名为 output_<YYYYMMDD>.txt 的文件中。位于本地 PC C: 驱动器的根目录,其中 <YYYYMMDD>是当前日期:

SET SERVEROUTPUT ON FORMAT WRAPPED
SET VERIFY OFF

SET FEEDBACK OFF
SET TERMOUT OFF

column date_column new_value today_var
select to_char(sysdate, 'yyyymmdd') date_column
from dual
/
DBMS_OUTPUT.ENABLE(1000000);

SPOOL C:\output_&today_var..txt

DECLARE
ab varchar2(10) := 'Raj';
cd varchar2(10);
a number := 10;
c number;
d number;
BEGIN
c := a+10;
--
SELECT ab, c
INTO cd, d
FROM dual;
--
DBMS_OUTPUT.put_line('cd: '||cd);
DBMS_OUTPUT.put_line('d: '||d);
END;

SPOOL OFF

SET TERMOUT ON
SET FEEDBACK ON
SET VERIFY ON

PROMPT
PROMPT Done, please see file C:\output_&today_var..txt
PROMPT

希望对你有帮助...

编辑:

在您发表评论后,为光标的每次迭代输出一个值(我意识到在此示例中每个值都是相同的,但您应该了解我正在做的事情的要点):

BEGIN
c := a+10;
--
FOR i IN 1 .. 10
LOOP
c := a+10;
-- Output the value of C
DBMS_OUTPUT.put_line('c: '||c);
END LOOP;
--
END;

关于oracle - 如何创建oracle sql脚本假脱机文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8590826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com