请问该如何求oracle中的function的所有语法定义,以及注意事项?

求oracle中的function的所有语法定义,以及注意事项


慕神8447489
浏览 913回答 5
5回答

陪伴而非守候

16.自定义函数自定义函数语法:CREATE OR REPLACE FUNCTION 函数名RETURN 返回值类型IS声明部分;BEGIN函数体;RETURN 变量;END;函数与存储过程的区别:(1)语法上除了创建对象的关键字不同之外,函数还多了一个RETURN关键字,它确定了该函数返回值的数据类型.(2)存储过程可以没有返回值,但函数必须有返回值,即使发生异常也要返回.(3)函数与标准SQL结合性更好,带OUT型参数的存储过程必须用PL/SQL方式调用,而函数均可以通过标准SQL调用.注: (1)函数返回值只提供返回值类型,不允许有长度.(2)使用函数必须接收返回值.样例:create or replace function getSal(v_empno varchar)return numberisv_sal number(4);beginselect sal into v_sal from emp where empno=v_empno;return v_sal;end;调用: (1) select getsal(7499) from dual;(2) declarev_sal number(4);beginv_sal:=getsal(7499);dbms_output.put_line(v_sal);end;17.函数的删除语法: DROP FUNCTION 函数名;

呼唤远方

create or replace function 函数名(参数)return 返回值类型as定义变量begin函数主体end ;

HUX布斯

create or replace function Fun_Multiplicative(v_input in number) return number isv_result number(8);v_total number(8) :=1;v_count number(5) :=1;beginwhile v_count <= v_input loopv_total := v_total * v_count;v_count := v_count + 1;end&nbsp;loop;v_result := v_total;return(v_result);end&nbsp;Fun_Multiplicative;

MYYA

create or replace function my_fun return number isi number := 1;total number := 1;beginwhile i<=20 looptotal := total*i;i := i+1;end&nbsp;loop;return total;end my_fun;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Oracle
MySQL