Oracle 创建PL/SQL过程时出错
我正在尝试用PL/SQL创建下面的过程,但它在过程名称上显示了一个红十字,但没有显示错误,所以有人能告诉我该代码有什么问题吗Oracle 创建PL/SQL过程时出错,oracle,plsql,Oracle,Plsql,我正在尝试用PL/SQL创建下面的过程,但它在过程名称上显示了一个红十字,但没有显示错误,所以有人能告诉我该代码有什么问题吗 create or replace procedure CREATE_DM_CLIENT( V_C_ID VARCHAR2, V_S_ID VARCHAR2, V_A_ID VARCHAR2, V_J IN VARCHAR2, V_H IN VARCHAR2, V_COM IN VARCHAR2, V
create or replace procedure CREATE_DM_CLIENT(
V_C_ID VARCHAR2,
V_S_ID VARCHAR2,
V_A_ID VARCHAR2,
V_J IN VARCHAR2,
V_H IN VARCHAR2,
V_COM IN VARCHAR2,
V_COD OUT VARCHAR2)
is
code_erreur number;
lib_erreur varchar(200) ;
num number := 0;
BEGIN
SELECT SEQ_DEM.NEXTVAL
INTO NUM
FROM DUAL;
INSERT INTO DM_CLIENTS(DM_C_ID, C_ID, S_ID, A, J, H, D_S, C)
VALUES(num, V_C_ID, V_S_ID, V_A_ID, V_J, V_H, SYSDATE, V_C);
--update num_client set etat=1 where num=V_CLIENT_ID;
commit;
V_COD:='100';
EXCEPTION
WHEN OTHERS THEN
l_e := SQLERRM ;
C_L := SQLCODE ;
insert into l_table (ligne , module)
values ( to_char(CODE_ERREUR)||LIB_ERREUR ,
'CREATE_DM_CLIENT' ) ;
commit;
V_CODEREP:='109';
end create_dm_client;
我没有提到的其他错误是因为我没有表名和序列。没有声明提到的3个变量
...
is
v_coderep varchar2(3);
c_l varchar2(3)
l_e varchar2(1024);
...
请在变量声明部分定义l_e、C_l和V_CODEREP变量。例如—
l_e varchar(20);
C_L integer;
V_CODEREP varchar(3);
运行时出现的错误是什么?不相关,但是:
select nextval
不是必需的。您可以直接在values()
子句中使用SEQ_DEM.NEXTVAL
。“它显示一个红十字”-“它”是什么?你是说?如果是这样,您需要在程序窗口中工作(并标记您的问题)。编译存储过程时,Oracle会生成详细的错误列表。请学习如何正确使用工具,以便显示详细的错误列表。如果您无法使用手册或“帮助”部分解决此问题,请发布一个新问题,询问您的工具的具体帮助。您可以通过运行select*from user\u errors
(或者如果所讨论的对象不属于您当前的模式,那么所有的\u错误
)似乎需要声明变量l\u e、C\u l和V\u CODEREP
l_e varchar(20);
C_L integer;
V_CODEREP varchar(3);