3个回答
展开全部
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 函数名;
自定义函数语法:
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 函数名;
展开全部
create or replace function 函数名(参数)
return 返回值类型
as
定义变量
begin
函数主体
end ;
return 返回值类型
as
定义变量
begin
函数主体
end ;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我这儿有关于数据库所有对象的介绍和相关命令,如果需要的话可以发到你的邮箱……里面的sql命令可以直接在oracle中使用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询