有没有办法让用户在SQL Developer中的ACCEPT中输入值列表? 即:
ACCEPT USER_ENTRY CHAR PROMPT 'Please enter values'
select *
from my_table
where my_id in('&USER_ENTRY')
当然这适用于单个值,但我无法找到使其适用于多个值的解决方案。例如,如果我想选择ID' 1'的详细信息。和' 2'。
我知道将信息加载到临时表中并查询该信息,但是如果可能的话,由于项目的性质,我宁愿避免这种情况(用户会使用'前面这个脚本来调用使用@"MY_FILE_LOCATION\MY_SCRIPT.sql";
结束脚本,因此将无法看到它们正在运行的实际脚本,但需要输入多个值。)
答案 0 :(得分:0)
如果您的ID是数字,不是字符串,那么如果脚本是这样的话,用户实际上可以输入以逗号分隔的ID列表:
ACCEPT USER_ENTRY CHAR PROMPT 'Please enter values (separate by commas)'
select *
from my_table
where my_id in(&USER_ENTRY);
如果用户输入1,5,76
,则实际运行的查询将为:
select *
from my_table
where my_id in(1,5,76);
事实上,同样适用于字符串,但用户必须提供引号,例如得到'A1','B6','F88'
:
select *
from my_table
where my_id in('A1','B6','F88');
这使您的用户有责任正确输入数据 - 但是SQL Developer从未打算成为最终用户界面,正如其名称所暗示的那样,它是开发人员的工具! / p>