创建插入pl / sql过程后没有选择任何行

时间:2016-11-24 03:16:21

标签: oracle plsql oracle12c

我尝试将数据插入表格" school",所以我创建了一个文本文件:

CREATE OR REPLACE PROCEDURE SCHOOL_PRO (id IN NUMBER, name IN VARCHAR2, address IN VARCHAR2, num1 IN INT, num2 IN INT, grade IN INT)
IS
BEGIN 
INSERT INTO SCHOOL (ID,NAME,ADDRESS,NUM1,NUM2,GRADE) VALUES (2016001 , 'G' , 'G' , 160 , 0 , 480);
INSERT INTO SCHOOL (ID,NAME,ADDRESS,NUM1,NUM2,GRADE) VALUES (2016010 , 'H' , 'H' , 150 , 0 , 400);
INSERT INTO SCHOOL (ID,NAME,ADDRESS,NUM1,NUM2,GRADE) VALUES (2016011 , 'S' , 'S' , 150 , 0 , 528);
INSERT INTO SCHOOL (ID,NAME,ADDRESS,NUM1,NUM2,GRADE) VALUES (2016101 , 'J' , 'J' , 20 , 0 , 530);
INSERT INTO SCHOOL (ID,NAME,ADDRESS,NUM1,NUM2,GRADE) VALUES (2016110 , 'B' , 'B' , 10 , 0 , 600);
INSERT INTO SCHOOL (ID,NAME,ADDRESS,NUM1,NUM2,GRADE) VALUES (2016111 , 'Q' , 'B' , 10 , 0 , 580);
COMMIT;
END;
/

我执行文本文件,显示procedure created,然后执行select * from school并显示no rows selected

问题出在哪里?请帮我一把。谢谢!

1 个答案:

答案 0 :(得分:0)

您的命令会创建该过程,但不会执行该过程,因此不会向学校插入任何内容。你想要做的是:

  1. 更改您的程序,使其插入作为参数给出的值,然后为每个要插入的行调用它。
  2. 将参数删除到过程(未使用)并在创建后执行该过程。
  3. 忘掉程序,然后执行insert命令。