如果我们的PLSQL存储过程中只有Out参数,那么我们是否可以使用函数代替存储过程,因为函数也可以返回值,如果我们仍然使用存储过程,那么我们使用这个代替函数。
我希望我能够传达出我想问的正确问题。
两者之间的一些重要区别如下。
函数。
SELECT
, UPDATE
, DELETE
)DML
不允许在其中进行操作过程。
OUT parameters
)DML
允许在过程内进行操作。这要看过程是做什么的。
例如,如果它(在返回一些值的同时)使用了DML操作(例如向某个表中插入行),那么函数就不能这样做--你必须使用过程。
存储过程的缺点是,你不能在一个 SELECT
声明,如
select proc_name(out_param) from dual;
在这种情况下,你必须使用一个函数。
还有: OUT
参数必须存储在某个地方,这通常是一个本地声明的变量,但这意味着你需要另一个PLSQL块来调用存储过程并查看其结果。
如果你当前的存储过程所做的一切都是为了查找&返回一些值,那么是的--函数可能是一个更好的选择。