oracle 存储过程或函数怎么把数据写到硬盘上?

问题描述

想在 存储过程 或者 函数中将 一些数据写到硬盘上,最好中文不要乱码。哪位大侠能告诉我怎么做吗? 问题补充:mrliang 写道

解决方案

外网应该不太可能,局域网可以,如果是windows,可以设置共享目录,如果是linux,利用smbfs也可以设置共享目录
解决方案二:
Oracle中提供的一个utl_file的包可以将字符串读写到文件中1 修改INIT.ORA文件,加上UTL_FILE_PATH = <要创建文件的路径名>2 建立存储过程create or replace procedure sp_write_to_file(Path in varchar2, FileName in varchar2, Contents in varchar2) is handle utl_file.file_type; nrow number; nindex number; begin handle := utl_file.fopen(Path, FileName, ''a''); nrow := length(Contents) /1023; nindex := 0; if (nrow > 1) then LOOP if (nindex <= nrow -1) then utl_file.put(handle, substr(Contents, nindex*1023, 1023)); utl_file.fflush(handle); else utl_file.put(handle, substr(Contents, nindex*1023, length(Contents) - nindex*1023)); utl_file.fflush(handle); end if; if (nindex = floor(nrow)) then exit; end if; nindex := nindex + 1; end loop; end if; utl_file.fclose(handle); end sp_write_to_file; 轻松阅读,尽在阅读地带

时间: 2024-10-27 21:41:00

oracle 存储过程或函数怎么把数据写到硬盘上?的相关文章

关于ORACLE 和MYSQL INNODB 触发脏数据写的机制对比

首先要说明在ORACLE和INNODB触发checkpoint方面都采用LRU进行管理,并且都有全量检查点和增量检查点一说 在MYSQL中全量检查点叫做sharp checkpoint,增量检查点叫做FUZZY CHECKPOINT, 在ORACLE中更加细化,加入了LRUW链表,并且加入CHECKPOINT-Q列表,两者共同配合完成增量CHECKPOINT,在ORACLE 中DBWR写是按照CHECKPOINT-Q的顺序写的其是LRBA的链表,其触发条件受到MTTR的限制,如果ORACL估计能

oracle 存储过程和函数例子

一,存储过程 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 (     参数1 IN NUMBER,     参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字 2.SELECT INTO STATEMENT   将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条   记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)   例子:   BEG

oracle 存储过程和函数例子_oracle

作者:peace.zhao 关于 游标 if,for 的例子 create or replace procedure peace_if is cursor var_c is select * from grade; begin for temp in var_c loop if temp.course_name = 'OS' then dbms_output.put_line('Stu_name = '||temp.stu_name); elsif temp.course_name = 'DB'

Oracle存储过程和自定义函数详解

oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 (     参数1 IN NUMBER,     参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字 2.SELECT INTO STATEMENT   将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条   记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)  

Oracle存储过程和自定义函数详解_oracle

概述 PL/SQL中的过程和函数(通常称为子程序)是PL/SQL块的一种特殊的类型,这种类型的子程序可以以编译的形式存放在数据库中,并为后续的程序块调用. 相同点: 完成特定功能的程序 不同点:是否用return语句返回值. 举个例子: create or replace procedure PrintStudents(p_staffName in xgj_test.username%type) as cursor c_testData is select t.sal, t.comm from

C#调用ORACLE存储过程返回结果集及函数

oracle|存储过程|函数   ORACLE段:首先在ORACLE建立PACKAGE和PACKAGE BODY,将在这里面定义函数和存储过程返回结果集.1:建立PACKAGE:CREATE OR REPLACE package SCOTT.pk_wtistype mytype is ref cursor;procedure p_wt(mycs out mytype);function f_get(str in varchar2)return varchar2;end; /说明:其实PACKAG

写了个oracle语句,抽出来的数据有的 有多条完全 重复的

问题描述 写了个oracle语句,抽出来的数据有的 有多条完全 重复的 请教各位大神,可能的原因 是不是where条件可能有问题? 解决方案 用distinct约束一下 select distinct * from 表名 解决方案二: 恩恩 是的 这样可以解决,请问下 您知道发生这种情况的原因么 解决方案三: distinct sql 是这样的,Oracle 也是么 解决方案四: 数据库中你where条件限制下有多条重复记录,可以查看数据库源数据.

oracle存储过程如何写,来人鞭策

问题描述 oracle存储过程如何写,来人鞭策 一个表中有两个字段,一个条数字段,一个是sql语句字段,如何实现执行sql语句字段里的sql语句,使执行结果赋值给条数字段 解决方案 设条数字段为num,sql语句字段为sql_str,变量numben 使用游标将表中的sql语句字段得到,在使用动态命令execute immediate sql_str into num就执行了该语句并赋值给变量number. 然后更新num字段的值为number值即可 解决方案二: 我的java程序: Strin

关于oracle中表和存储过程及函数的导出

问题描述 怎样才能把oracle中的表和存储过程及函数一下全部导出来 问题补充:pl/sql可以把表 储存过程,函数 一下都导出来吗.我发现只能一张一张倒啊 解决方案 PL/SQL Developer 可以导出存储过程.包.触发器