从这次开始以存储函数为主题。
首先先说概要。详细的语法说明下次进行。
存储过程和函数都是程序,有的时候有本质上的区别。
最大的差别就是:函数有返回值
要返回到调用方的值,在存储过程中也可以使用OUT的参数,但如果是函数,则不通过参数直接返回数值。
使用函数直接可以在语句中记述值的地方使用,譬如写在代入句(:=)的右边。
或者,IF语句等条件式的值、SELECT语句的SELECT句、WERE句、INSERT语句的VALES句、UPDATE语句的SET句、过程的参数等,可以记述数值的地方有很多,但都可以直接用函数代替
例如,在下面的例子中,我认为即使是相同的处理,也有不是过程,而是使用功能更简单的情况。
<<<<<使用过程>>>
DECLARE
V1 NUMBER;–事先声明变量
BEGIN
PROC1(V1);–PROC1过程,将返回值存储在V1变量中
INSERT INTO TABLE A VALUES(V1);–使用V1变量在表中INSERT
END;
<<<<<使用函数>>>
BEGIN
–以FUNK1函数的返回值在表中INSERT
INSER INTO TABLE A VALES(FUNK1(参数));
END;
通过程序取得值并在表中进行INSERT处理,使用函数时,可以直接在INSERT语句中记述函数,因此比使用过程更简单。
那么这次就到此为止。
下次开始说明语法。