为什么oracle 新建存储过程时,出现“创建过程带有编译错误” ,求大神们帮助。因为没财富了,所以没悬赏了
createorreplaceprocedureadd_t(ASSIGN_PKVARCHAR2,CLASS_PKVARCHAR2)ISBEGININSERTINTOadd...
create or replace procedure add_t
(ASSIGN_PK VARCHAR2 , CLASS_PK VARCHAR2)
IS
BEGIN
INSERT INTO add_t values(ASSIGN_PK,CLASS_PK);
END; 展开
(ASSIGN_PK VARCHAR2 , CLASS_PK VARCHAR2)
IS
BEGIN
INSERT INTO add_t values(ASSIGN_PK,CLASS_PK);
END; 展开
2个回答
展开全部
先不说别的,就是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;
再一个,你那俩参数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;
2013-01-30
展开全部
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 /
过程已创建。
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 /
过程已创建。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询