这是不是可以在 PL/SQL 中执行存储过程时每次都提示?

Posted

技术标签:

【中文标题】这是不是可以在 PL/SQL 中执行存储过程时每次都提示?【英文标题】:Is this possible to promt everytime with stored procedure execution in PL/SQL?这是否可以在 PL/SQL 中执行存储过程时每次都提示? 【发布时间】:2020-03-07 12:18:50 【问题描述】:

以下是将数据插入表的简单过程是:-

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 并对此感到困惑。

【问题讨论】:

Slightly related;还有this. 【参考方案1】:

没有。存储过程在服务器上运行,无法提示用户输入。他们不知道正在使用什么客户端应用程序(如果有)来调用存储过程。

您可以编写一个SQL*Plus 脚本来提示用户输入,然后通过传入这些值来调用存储过程。该脚本必须存在于每台客户端计算机上。

【讨论】:

很好的解释..我对此很困惑..现在我清楚了。 ?

以上是关于这是不是可以在 PL/SQL 中执行存储过程时每次都提示?的主要内容,如果未能解决你的问题,请参考以下文章

oracle存储过程连续执行结果不同

oracle pl/sql 存储过程

Java 存储过程是不是比 Oracle 中的 PL/SQL 慢?

如何在pl / sql中同时在不同会话中执行存储过程

在 ASP.NET MVC Core(C#) 中执行 Oracle 存储过程 (PL/SQL)

Oracle 存储过程