...创建过程带有编译错误” ,求大神们帮助。因为没财富了,所以没悬赏...
发布网友
发布时间:2024-04-17 21:40
我来回答
共2个回答
热心网友
时间:2024-04-21 13:23
先不说别的,就是insert into后必须要提交,否则插不进数据造成表被锁
再一个,你那俩参数ASSIGN_PK和CLASS_PK 是要输入的么?
输入的话要加上in,要不是输入,在后边取出的,至少也得赋值,这里就姑且当做你是要输入的两个参数吧。
create or replace procedure add_t
(ASSIGN_PK IN VARCHAR2 ,
CLASS_PK IN VARCHAR2)
IS
BEGIN
INSERT INTO add_t values(''||ASSIGN_PK||'',''||CLASS_PK||'');
commit;
END;
热心网友
时间:2024-04-21 13:25
SQL> create or replace procedure add_t
2 (ASSIGN_PK VARCHAR2 , CLASS_PK VARCHAR2)
3 IS
4 BEGIN
5 INSERT INTO add_t values(ASSIGN_PK,CLASS_PK);
6 END;
7 /
警告: 创建的过程带有编译错误。
SQL> show err
PROCEDURE ADD_T 出现错误:
LINE/COL ERROR
-------- -----------------------------------------------------------------
5/3 PL/SQL: SQL Statement ignored
5/15 PL/SQL: ORA-04044: 此处不允许过程, 函数, 程序包或类型
你这个存储过程名字 add_t
INSERT INTO add_t
表名字也叫 add_t
估计问题在这里。
简单输出, 是编译通过的。
SQL> create or replace procedure add_t
2 (ASSIGN_PK VARCHAR2 , CLASS_PK VARCHAR2)
3 IS
4 BEGIN
5 -- INSERT INTO add_t values(ASSIGN_PK,CLASS_PK);
6 dbms_output.put_line('Hello ' || ASSIGN_PK || '!');
7 END;
8 /
过程已创建。