oracle内置程序包
来源:互联网 发布:mysql replace函数 编辑:程序博客网 时间:2024/05/16 10:43
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.0
DECLARE
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;
- Oracle 内置程序包
- oracle内置程序包
- oracle内置程序包
- oracle内置程序包
- Oracle触发器和内置程序包
- oracle 触发器 和 常用内置程序包
- oracle 触发器 和 常用内置程序包
- oracle触发器和常用内置程序包
- Oracle 一些内置的程序包(转载)
- Oracle数据笔记-【6】触发器和内置程序包
- Oracle程序包
- ORACLE程序包
- Oracle程序包
- Oracle程序包
- Oracle-程序包
- 【Oracle】程序包
- Oracle程序包
- oracle程序包
- 创建优化的SQL语句
- Poj 2299
- Oracle优化器和索引原理
- SQL中的锁---转贴自fredrickhu
- spring,struts,hibernate三大框架编程原理
- oracle内置程序包
- 预测C#与.NET发展趋势()
- C++中字符串处理函数的方法
- Windows Embedded Compact 7-ipad与android的致命杀手,windows phone7 的真正基石
- oracle触发器
- 调整linux提高squid并发
- oracle触发器
- Singleton模式原理和实现
- 三极管替换及常用开关三极管