求oracle中的function的所有语法定义,以及注意事项
5 回答
慕虎7371278
TA贡献1802条经验 获得超4个赞
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 number
is
v_sal number(4);
begin
select sal into v_sal from emp where empno=v_empno;
return v_sal;
end;
调用: (1) select getsal(7499) from dual;
(2) declare
v_sal number(4);
begin
v_sal:=getsal(7499);
dbms_output.put_line(v_sal);
end;
17.函数的删除
语法: DROP FUNCTION 函数名;
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
- 5 回答
- 0 关注
- 503 浏览
添加回答
举报
0/150
提交
取消