选择输出不会在替换变量提示前显示

布鲁默

我正在尝试做类似的事情:

SELECT * From stock ; 
Define input ; 
insert into STOCK values(&input) ; 
commit ; 

我的问题是,直到显示提示弹出窗口input从用户那里获取用户价值之后,选择结果才会出现在脚本输出窗口中

这个想法是用户可以在表中查找缺少的条目,然后插入用户想要的值。查看选择后,将提示用户输入,输入所需的值,然后提交。

如何在提示之前显示查询结果?

亚历克斯·普尔

除非我删除该define行,否则我看不到您在SQL Developer 4.1.3中所描述的内容,否则该行无济于事。

select紧随其后insert是时,在脚本输出窗口中显示查询输出之前,确实会弹出替换提示。因此,使用此脚本,提示首先出现:

SELECT * From stock ; 
insert into STOCK values(&input) ; 

在它们之间放置除空格以外的任何内容似乎都可以“修复”它,甚至是注释行,因此该脚本在提示之前在脚本输出窗口中显示结果:

SELECT * From stock ;
--
insert into STOCK values(&input) ; 

您也可以使用以下accept命令:

SELECT * From stock ;
accept input prompt 'New value'
insert into STOCK values(&input) ; 

大概这与SQL Developer如何将脚本解析为语句并依次处理每个语句有关。当然,早期版本的SQL Developer的行为可能会有所不同,因此您可能仍会看到它define-尽管这会在脚本窗口中再次生成类似“ SP2-0135:符号输入未定义”的消息,但在提示符后再次出现该消息,除非在定义和插入之间有一些东西。

不过,您所做的实际上并没有多大意义,因为它无法让用户决定他们实际上并不想/不需要插入任何东西,并且如果他们看到多个值丢失,则必须运行整个脚本再次出现。客户端并不是真正为这样的交互式用户输入而设计的,您最好使用应用程序层来执行此操作-Shell或命令脚本,Apex或PHP等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章