我需要有关我尝试在 PL/SQL 中开发的应用程序的帮助
基本上我的应用程序有 3 个屏幕。“参数屏幕”、“结果屏幕”和“详细信息屏幕”
参数屏幕 - 用户将从表单内的下拉框中选择一些参数。然后他们将单击提交按钮,并将在下一个屏幕(结果屏幕)上传递
结果屏幕 - 将考虑从前一个屏幕传递的参数运行 sql 查询 查询的结果将显示在按例如(姓氏)排序的表中。下面的示例结果
|ID|EmployeeID|Surname|Date of Birth|
1 1234 Adam 11-14-1995
2 5678 Reyes 06-03-1993
3 9876 Olivers 03-02-1992
下一个屏幕(详细信息屏幕)将显示有关员工的更多详细信息。在结果屏幕和详细信息屏幕之间的转换将通过单击结果屏幕中的employee_surname 的href 链接发生
所以在上面的结果表中,姓氏'Reyes'是一个可点击的Reyes
在他们从结果中单击姓氏后,它将调用过程 details_screen(如上面的链接所示)并处理参数“id”和“emid”以在该过程中运行查询并再次显示有关该特定员工的更多信息。详细信息屏幕如下所示
ID: 2
EmployeeID: 5678
Surname: Reyes
First Name: Alan
Date of Birth: 06-03-1993
Hobbies: Basketball
我设法完成了从参数到详细信息屏幕的所有屏幕。但是,我想在“详细信息屏幕”中进行一些记录导航,这样他们就不必返回“结果屏幕”来浏览所有员工记录。我希望他们在“详细信息屏幕”中有上一个和下一个导航,如下所示
ID: 2
EmployeeID: 5678
Surname: Reyes
First Name: Alan
Date of Birth: 06-03-1993
Hobbies: Basketball
<a href="details_screen?id=1&emid=1234">Previous</a> | <a href="details_screen?id=3&emid=9876">Next</a>
这就是我坚持的地方。我不知道如何实现这一点。例子。我设法实现了一个肮脏的解决方案,但是每次在记录集中前进或后退时,它都需要运行在结果屏幕中使用的相同查询。我的查询比我在此显示的更复杂,并且使用我的肮脏方式在性能方面付出了沉重的代价。
有没有更有效的方法来执行此操作而无需一遍又一遍地运行查询?像做一次查询并在用户仍在“详细信息屏幕”中导航时使用结果来呈现导航然后可能只在用户从头开始时再次查询(参数屏幕)
我昨天才学习了 PL/SQL 的基础知识,但我还是个菜鸟。我听说过诸如 ref_cursor、varray、嵌套表、关联数组之类的东西,但我不太了解它们,也不知道它们是否能帮助我解决问题。所以请就此提出建议。在此先感谢您,并对冗长的解释和糟糕的语法感到抱歉。