我应该直接从服务器运行select *还是在填充选择器时创建一个存储过程?



我有一个带有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

最新更新