我有一个带有id和名称的预定义表。例如,我有一个带有id和状态名的表,所以基本上是:
id name
---------
1 Alabama
2 Alaska
3 Arizona
它只是用来填充一个选择器。我的问题是,我是否应该使用basic "select * from *;在服务器上查询,还是我应该为它创建一个存储过程?我被告知要制作所有的存储过程,并且在服务器上不要有任何sql语句,但是我不认为有过程有什么意义,而且这实际上是一件非常繁琐的事情。
如果直接执行查询,则(所有加号)
- 您将获得表格形式的数据。
- 可以直接在任何应用程序中使用。
- 不需要打扰PL/SQL引擎
- 无需进一步数据处理。
如果你将它包装在过程中,那么(过程有它自己的优势,但不适合你的情况)
- 您必须从另一个
PL/SQL block
调用它。不能在sql查询中直接使用该过程。(调用复杂性) - 过程不能生成表作为输出,您必须使用
sys_refcursor
来输出值。(需要对结果进行进一步数据处理) - 如果你只想打印过程中的值,那么你必须在过程中使用dbms_output。(这在实际应用中是没有用的)
如果你有一个简单的查询,那么我可以说,使用view
在数据库中存储查询如下:
create or replace your_view_name
as select id, name from your_table;
Views
可直接用于查询。
select * from your_view_name