Можно ли каждый раз запрашивать выполнение хранимой процедуры в PL / SQL? - PullRequest
0 голосов
/ 07 марта 2020

Вот простая процедура для вставки данных в таблицу: -

create or replace 
PROCEDURE add_job_history
  (  p_emp_id          job_history.employee_id%type
   , p_start_date      job_history.start_date%type
   , p_end_date        job_history.end_date%type
   , p_job_id          job_history.job_id%type
   , p_department_id   job_history.department_id%type
   )
IS
BEGIN
  INSERT INTO job_history (employee_id, start_date, end_date,job_id, department_id)

    VALUES(p_emp_id, p_start_date, p_end_date, p_job_id, p_department_id);

END add_job_history;

Теперь я выполняю эту хранимую процедуру с параметром, она будет работать ...

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

Возможно ли это?

Как в примере: -

exec add_job_history;
enter your employee_id:15
enter your start_date:

Помоги мне, если это возможно. Я учу PL / SQL и путаюсь с ним.

1 Ответ

1 голос
/ 07 марта 2020

Нет. Хранимые процедуры выполняются на сервере и не могут запрашивать ввод у пользователя. Они понятия не имеют, какое клиентское приложение, если оно есть, используется для вызова хранимой процедуры.

Вы можете написать сценарий SQL*Plus, который запрашивает ввод у пользователя, а затем вызывает хранимую процедуру, передавая эти ценности. Этот сценарий должен существовать на каждом клиентском компьютере.

...