Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stored procedures 在存储过程plsql中创建目录_Stored Procedures_Dynamic_Plsql_Directory - Fatal编程技术网

Stored procedures 在存储过程plsql中创建目录

Stored procedures 在存储过程plsql中创建目录,stored-procedures,dynamic,plsql,directory,Stored Procedures,Dynamic,Plsql,Directory,我有以下代码: create or replace PROCEDURE insert_dir(id number, filename varchar2, dir varchar2) IS sqlQ varchar2; BEGIN sqlQ := 'create directory DIR0001 as '||dir; EXECUTE IMMEDIATE (sqlQ); END; 我试图在存储过程中创建一个目录,并通过参数传递值,但出现错误: Package o

我有以下代码:

create or replace PROCEDURE insert_dir(id number, filename varchar2, dir varchar2)
IS  
  sqlQ varchar2;
BEGIN   
   sqlQ := 'create directory DIR0001 as '||dir;
    EXECUTE IMMEDIATE (sqlQ);
END;
我试图在存储过程中创建一个目录,并通过参数传递值,但出现错误:

   Package or function INSERT_DIR is in an invalid state
06575. 00000 -  "Package or function %s is in an invalid state"
*Cause:    A SQL statement references a PL/SQL function that is in an
           invalid state. Oracle attempted to compile the function, but
           detected errors.
*Action:   Check the SQL statement and the PL/SQL function for syntax
           errors or incorrectly assigned, or missing, privileges for a
           referenced object.
呼叫程序:

CALL insert_dir(3,'pic.jpg','C:\Users\User\Desktop\media');

有人知道我做错了什么吗?

编译过程后,应该说“使用编译错误创建的过程”

如果您发出
SHOW ERRORS
,它会告诉您编译错误和哪一行

在这种情况下,错误在这一行-声明需要VARCHAR2的大小,例如:

sqlQ varchar2(4000);