【问题标题】:How to create a dropdown list for user input in sql, using sql developer?如何使用 sql developer 在 sql 中为用户输入创建下拉列表?
【发布时间】:2021-12-14 08:18:26
【问题描述】:

我们可以使用 SQL Developer 在 SQL 中实现这一点吗?我可以从列表中获取用户输入,而不是输入用户输入。

SELECT * FROM HR.LOCATIONS
WHERE country_id LIKE '&COUNTRY_ID%';

请查看随附的图片。

SQL User Input expected as dropdown

【问题讨论】:

  • 您真正想解决什么问题?听起来您正在尝试为用户构建 GUI,在这种情况下 SQL Developer 并不是真正正确的工具。构建一个可以执行此操作的小型 APEX 应用程序将是微不足道的。在 SQL Developer 中,您可以只做一个不带谓词的 select *,然后过滤查询结果,这将为您提供所需的值列表。
  • 感谢您的回复。实际上,上面提到的问题只是我想要实现的一个例子。我有多个实例,例如 Prod、QA、Test,总共 18 个,实例和用户被分配给这些实例。要获取用户的详细信息,我需要输入实例名称作为输入来获取他们的详细信息。我想,如果我可以将这些实例名称放在下拉列表中,那么运行查询会很容易。或者我可以实现它的任何其他方式。这完全是使用我试图实现的 SQL 开发人员的 SQL 任务。感谢您的所有帮助。
  • 听起来您仍然在描述一个微不足道的应用程序或者更有意义的事情是执行select * 然后让客户端过滤结果。我想也许你想在 SQL Developer 中构建一个向下钻取报告,即when-others-then-null.blogspot.com/2017/10/…
  • 您标记了PL/SQL Developer,它可以使用下拉列表和复选框等进行提示。您使用的是PL/SQL Developer吗?

标签: sql oracle oracle-sqldeveloper plsqldeveloper


【解决方案1】:

您可以使用带有子报表的报表来满足此要求。用 emp/dept 模式来说明。

  1. 使用 SQL 查询创建名为“DEPT”的报告:
SELECT * FROM dept
  1. 使用 SQL 查询向此报表添加名为 EMP 的子报表:
SELECT * FROM emp WHERE depno = :deptno

当您运行dept报表并单击一行时,emp表中的相应行将显示在子报表中。您可以将其映射到您的表格:主报告将是您的实例报告,用户详细说明子报告。

【讨论】:

  • 很高兴听到。在 Stackoverflow 中表示感谢的最佳方式是接受答案;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-21
  • 1970-01-01
  • 2017-03-27
  • 2020-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多