尝试创建一个在 pl/sql 中接受用户输入的过程 [重复]

Posted

技术标签:

【中文标题】尝试创建一个在 pl/sql 中接受用户输入的过程 [重复]【英文标题】:Trying create a procedure that takes user input in pl/sql [duplicate] 【发布时间】:2019-12-08 10:53:47 【问题描述】:

我正在尝试创建一个程序来获取用户名和密码的用户输入,但由于'&',我不断收到错误消息。

CREATE OR REPLACE FUNCTION Approval (Input_S_ID Sales.Sales_ID%Type, discount_amount NUMBER)
RETURN NUMBER 
IS    

   UN Employee.E_un%Type := &UN; 
   PS Employee.E_pass%Type := &PS;

【问题讨论】:

为什么不简单地将这些值作为函数参数传递? &不是PL/SQL中的特殊字符,PL/SQL不会交互提示。您将需要一些其他框架或工具来管理交互(Shellscript、PowerShell、Perl 等)。 【参考方案1】:

您不能在PL/SQL 过程中directly 接收来自client 的消息

最好的方法是与表格数据交互,让用户将数据插入表格并对此做出反应,或者使用Advanced Queueing(几乎等同于同一件事)。

或者,在调用过程时接受用户输入作为参数。

更多详细说明请查找链接here。

【讨论】:

以上是关于尝试创建一个在 pl/sql 中接受用户输入的过程 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用输入参数创建 PL/SQL 存储过程以返回数据集

我想在 PL SQL 中接受用户输入并将其传递给程序,给我看一个简单的程序吗?

如何使用 pl/sql 循环接受用户输入?

pl/sql函数和过程

PL SQL - 过程 - 保存执行过程的用户记录的表

如何在PL SQL过程中提示用户输入