Oracle 10g创建函数——带输入、输出参数

--Oracle10g 开发函数
--1、建立不带参数的函数

create or replace function get_user
return varchar2
is
v_user varchar2(100);
begin
select username into v_user from user_users;
return v_user;
end;


--在sql中利用函数进行查询

select get_user from dual;



--2、建立带有输入参数的函数

create or replace function get_name(id in communitytype.community_type_id%type)
return varchar2
as
v_name communitytype.name%type;
begin
select name into v_name from communitytype com
where com.community_type_id = id;
return v_name;
end;


--使用函数

select get_name('ebook') from dual;



--3、建立带有输出的函数

create or replace function get_name(id in communitytype.community_type_id%type,name out communitytype.name%type)
return varchar2
as
v_eng_name communitytype.english_name%type;
begin
select com.name,com.english_name into name,v_eng_name from communitytype com
where com.community_type_id = id;
return v_eng_name;
end;


--使用函数(因为该函数带有out参数,不能再sql中直接调用,我们选择在command窗口执行函数)

SQL> var name varchar2(50)
SQL> var eng_name varchar2(50)
SQL> exec :eng_name:=get_name('ebook',:name);


--结果显示
[list]
PL/SQL procedure successfully completed
eng_name
---------
电子图书修改
name
---------
电子图书
[/list]


--4、建立同时带有in和out参数的函数

create or replace function result
(num1 number,num2 in out number)
return number
as
v_result number(6);
v_remainder number;
begin
v_result:=num1/num2;
v_remainder:=mod(num1,num2);
num2:=v_remainder;
return v_result;
end;

--使用函数(因为该函数带有out参数,不能再sql中直接调用,我们选择在command窗口执行函数)

SQL> var result1 number
SQL> var result2 number
SQL> exec :result2:=30


--结果显示
[list]
PL/SQL procedure successfully completed
result2
---------
30

SQL> exec :result1:=result(100,:result2)

PL/SQL procedure successfully completed
result1
---------
3
result2
---------
[/list]
10
--5、删除函数

drop function result;


--6、查看函数源代码

select text from user_source where name = 'RESUL';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值