我的任务是编写一个PLSQL模块将数据插入到数据库中。在某种情况下,它可能需要额外的信息,并且应该提示用户提供更多的细节。这应该直接在PLSQL中完成,并且语句直接来自赋值。
我研究了这个话题,发现有些人说这不能用PLSQL来做?但是ACCEPT PROMPT函数确实存在。
ACCEPT v_string PROMPT 'Enter your age: ';虽然这可以直接在SQLPlus中运行,但在PLSQL中不能运行,因为它给了我这个错误:
PLS-00103: Encountered the symbol "V_STRING" when expecting one of the following: := . ( @ % ;谁能提供一些洞察力,说明我应该如何从PLSQL中询问用户,只有在某个条件为真时(当你从数据库中获得其他东西时,该条件才会被检查)。为了澄清,我只需要关于如何接受输入的帮助。
耽误您时间,实在对不起。
发布于 2011-11-06 00:46:00
有一个trick可以让你做这样的事情,但是(a)这有点麻烦,(b)你需要登录到数据库服务器本身,(c)它只能在Linux (也许还有其他风格的Unix)上运行。
通常,不能在PL/SQL中请求用户输入,尤其是在连接到远程计算机上的数据库时。不是你的作业错了,就是你误解了它。
PL/SQL程序是为在数据库服务器上运行而设计的,因此在运行过程中要求用户输入是没有意义的。使用ACCEPT命令,SQL*Plus可以在客户端运行脚本时要求用户输入。然后,SQL*Plus将替换为在将SQL或PL/SQL发送到数据库之前输入的值。
发布于 2021-09-28 05:43:30
好吧,因为它不是SQL的一部分,而是你使用的开发工具,下面是我所知道的:
发布于 2019-03-13 23:10:40
我检查并尝试了以下可能对你有帮助的事情。这只是我试过的一个例子。您可以实现自己的逻辑。
declare
c1 varchar2(50);
begin
c1:='&enter_value';
dbms_output.put_line(c1);
exception
when others then
dbms_output.put_line(sqlerrm);
end;'&‘将帮助您提示并要求用户输入。一旦用户输入了一些输入,它就会被赋值给变量,你可以随心所欲地使用变量。
希望这能对你有所帮助。
https://stackoverflow.com/questions/8021184
复制相似问题