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);