После создания процедуры вставки pl/sql строки не выбраны

Я пытаюсь вставить данные в таблицу "школа", поэтому я создаю текстовый файл:

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 ответ

Решение

Ваша команда создает процедуру, но не выполняет ее, поэтому в школу ничего не вставляется. То, что вы хотите сделать, это одно из:

  1. Измените вашу процедуру так, чтобы она вставляла значения, заданные в качестве параметров, а затем вызывала ее для каждой вставляемой строки.
  2. Перенесите параметры в процедуру (не используется) и выполните процедуру после ее создания.
  3. Забудьте о процедуре и просто выполните команды вставки.
Другие вопросы по тегам