我正在使用下面的PLSQL过程。将一些数据写入文件。
SET SERVEROUTPUT ON
CREATE OR REPLACE DIRECTORY CTEST AS '/tmpL';
GRANT READ ON DIRECTORY CTEST TO PUBLIC;
DECLARE
out_File UTL_FILE.FILE_TYPE;
CURSOR bulk_cursor IS
SELECT * FROM TSUSER.CUSTOMER;
TYPE bulk_row_type IS TABLE OF bulk_cursor%ROWTYPE INDEX BY PLS
我目前使用的是11g Express Edition
CTEST is the directory created and empdata is the declaration variable.
SQL> declare
2 empData utl_file.file_type;
3 BEGIN
4 empData := UTL_FILE.FOPEN('CTEST','empdata.csv','W');
5 for emp IN ( select table_name
(这类似于我之前提出的一个问题:)
我需要转到:
/*
|| The following private procedure will execute a dynamic pl/sql
|| statement passed to it.
*/
CREATE OR REPLACE FUNCTION DB_SHELL_UTIL_PKG.EXECUTE_STMT (stmt VARCHAR) IS
v_num_rows integer;
v_cursor_table integer;
BEGIN
v_cursor_table := dbms_sql
我在一个小过程中工作,这个过程应该读取一个文件,并验证该文件是否为空或不存在。验证工作正常,但我尝试实现读取,它引发了以下错误:
ORA-29284: file read error
ORA-06512: at "SYS.UTL_FILE", line 106
ORA-06512: at "SYS.UTL_FILE", line 746
ORA-06512: at "HCM_ESTRUCTURES", line 23
ORA-06512: at line 3
我的代码:
CREATE OR REPLACE PROCEDURE hcm_estruc
我是新手,不太会用青蛙。我在Excel文件中有一个"ID“列,其中包含1800个学生的ID。
我想从Toad的Student表中获得Excel表格中I的学生姓名。
Select StudenName from Student
Where StudentID = ID (ID should be taken from Excel)
是否可以在不将Excel文件导入Toad的情况下从Toad中读取Excel中的it?
希望我已经把问题弄清楚了。
提前谢谢。
我从unix脚本中的oracle包中得到了错误。此错误为"INVALID_FILEHANDLE“,请您帮助解决以下错误。
谢谢和问候,基兰
Erreur ! INVALID_FILEHANDLE
BEGIN p02ik.p02ip('/prep/dst/ins/tmp','/prep/dst/ins/log','PDSDI202.tmp','dstins_p02_202.log'); END;
*
ERROR at line 1:
ORA-20226: C'est le code de retour ==>
当存储过程以
4 create or replace procedure user0.import
5 is
6 f1 utl_file.file_type;
编译器引发错误Error(6,6): PLS-00201: identifier 'UTL_FILE' must be declared。
但是,如果我将is替换为declare,并运行与匿名块相同的代码,在第4行之后选择所有内容,它将正常工作,并按预期导入数据。这是在SYS AS SYSDBA下运行的。而且,如果不使用user0模式,它也会编译得很好。
为什么我不能作为sysdba在user0模式中编译一个过程?
set feedback off
set heading off
set underline off
set colsep ','
spool /u01/app/oracle/export/mysheet.csv
select * from mytab'
spool off
这在命令提示符下工作得很好,但我需要为此编写一个过程,有人能帮助我吗
帮我解决这个问题
当我在sql developer中编写用于打印数据的dbms_output.put_line时,iam使用(空格或竖线)符号来获取数据,并以连续的形式更改该iam。但我的问题是将数据复制到excel工作表。
如果我需要复制到excel,那么我将以这种格式dbms_output.put_line(hello||','||world)
然后将数据粘贴到excel中,并使用excel中的选项
data --> text to columns -> delimiter -->单击逗号即可分隔数据
但我需要一种以这种方式编写dbms_output.pu
我有Oracle SQL Developer Version 18.1.0.095我的操作系统macOS Sierra 10.12.6
运行SELECT * FROM v$version;
BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c E
我正在从一个有3亿行的数据库表中加载一个文本文件。
在每一行,我有两列。
到目前为止,我所尝试的是:
set feedback off
set heading off
set echo off
set termout off
set trimout on
set pagesize 0
set trimspool on
set linesize 30000
set verify off
set long 100000
spool ...\\trial.txt;
select column1 || ','|| column2 from TABLE;
spool off
但每次我
是否可以为作为参数传递给Stored-Procedure的表名创建rowtype,以及如何知道在DBMS_OUUTPUT.PUT_LINE()语句中用于寻址它们的列。
最终用户可以提供任何用户名(方案)和表名
我想做一些事情,如下所示,但它不工作。
CREATE OR REPLACE PROCEDURE SP_PASS(USER_NAME VARCHAR2,TAB_NAME IN VARCHAR2)
AS
TYPE REF_CUR IS REF CURSOR;
V_ARR REF_CUR;
V_SQL VARCHAR(200);
V_ROWTYPE USER
我有一个PL/SQL文件,其中包含一个只包含Java代码的过程。
以下是Java代码开始之前的声明:
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "fnd_log_file_handler" AS
这段Java代码执行各种File操作(复制、检查长度、迭代文件数组、检查File对象是否为目录等)和DOM操作/ XML解析(从给定的XML字符串创建XML文档对象)。此外,它还使用返回Process对象的Runtime.exec() java方法调用外部命令。以下是导入的包:
import java.nio.channels.Fi