oracle内置的程序包属于,oracle内置程序包

oracle内置程序包

SET SREVEROUTPUT ON;

--//扩大缓冲区

SET SERVEROUTPUT ON size 10000;

SQL> connect sys/beyond as sysdba

已连接。

SQL> drop directory TEST_DIR;

目录已丢弃。

SQL> CREATE DIRECTORY TEST_DIR AS 'C:/DEVELOP';

目录已创建。

SQL> GRANT READ,WRITE ON DIRECTORY TEST_DIR TO SCOTT;

授权成功。

SQL> connect scott/tiger

--//调用函数DBMS_XMLQuery.getXml把查询结果以CLOB类型的XML信息输出

SET PAGESIZE 1000;

SET LONG 20000;

SELECT DBMS_XMLQuery.getXml('SELECT * FROM stuInfo WHERE rownum < 5') FROM dual;

--//ora 9.2

DECLARE

result CLOB;

output_file   UTL_FILE.FILE_TYPE;

xmlstr VARCHAR2(32767);

line   VARCHAR2(2000);

line_no INTEGER := 1;

BEGIN

result := DBMS_XMLQuery.getXml('SELECT * FROM stuInfo WHERE rownum < 5');

xmlstr := DBMS_LOB.SUBSTR(result,32767);

output_file := UTL_FILE.FOPEN('TEST_DIR','emp.xml','w');--打开

LOOP

EXIT WHEN xmlstr IS NULL;

line := SUBSTR(xmlstr,1,INSTR(xmlstr,CHR(10))-1);

DBMS_OUTPUT.PUT_LINE(line_no || ':' || line);

UTL_FILE.PUT(output_file,line || CHR(10));

xmlstr := SUBSTR(xmlstr,INSTR(xmlstr,CHR(10))+1);

line_no := line_no + 1;

END LOOP;

UTL_FILE.FCLOSE(output_file);--关闭

END;

/

--//随机数据

DECLARE

l_num   NUMBER;

counter NUMBER;

BEGIN

counter:=1;

WHILE counter <= 10

LOOP

l_num := DBMS_RANDOM.RANDOM;

DBMS_OUTPUT.PUT_LINE(l_num||'--'||ABS(l_num MOD 100));

counter:=counter+1;

END LOOP;

END;

--//读取文件

DECLARE

input_file   UTL_FILE.FILE_TYPE;

input_buffer VARCHAR2(4000);

BEGIN

input_file := UTL_FILE.FOPEN(

'TEST_DIR', 'emp.xml', 'r');

LOOP

UTL_FILE.GET_LINE(input_file,input_buffer);

DBMS_OUTPUT.PUT_LINE(input_buffer);

END LOOP;

UTL_FILE.FCLOSE(input_file);

EXCEPTION

WHEN NO_DATA_FOUND THEN

DBMS_OUTPUT.PUT_LINE('------------------');

END;

--//ora 9.0DECLARE  TYPE fType IS RECORD (id BINARY_INTEGER, datatype BINARY_INTEGER);  result CLOB;  output_file   fType;  xmlstr VARCHAR2(32767);  line   VARCHAR2(2000);  line_no INTEGER := 1;BEGIN  result := DBMS_XMLQuery.getXml('SELECT * FROM stuInfo WHERE rownum < 5');  xmlstr := DBMS_LOB.SUBSTR(result,32767);  output_file := UTL_FILE.FOPEN('TEST_DIR','emp.xml','w');--打开  LOOP    EXIT WHEN xmlstr IS NULL;    line := SUBSTR(xmlstr,1,INSTR(xmlstr,CHR(10))-1);    DBMS_OUTPUT.PUT_LINE(line_no || ':' || line);    UTL_FILE.PUT(output_file,line || CHR(10));    xmlstr := SUBSTR(xmlstr,INSTR(xmlstr,CHR(10))+1);    line_no := line_no + 1;  END LOOP;   UTL_FILE.FCLOSE(output_file);--关闭END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值