函数 & 存储过程

本文介绍了如何在Oracle数据库中创建和使用函数与过程,包括无参数和带参数的函数示例,以及一个更新表的过程示例。此外,还讨论了使用存储过程的优点,如提高SQL可读性、易于调试等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建函数:

create or replace function get_hello_msg
return varchar2 as
begin
     return 'hello world';
end get_hello_msg;

 
查询输出:
select get_hello_msg from dual ;
 
或:
declare msg varchar2(20);
begin
 msg:=get_hello_msg;
 dbms_output.put_line(msg);
 end;
 
查询该函数是否被创建:
select * from user_objects t where lower(t.object_name)='get_hello_msg';
 
创建带参数的函数:
create or replace function get_tax(p_salary number)
return number as
begin
    declare tax_salary number;
    begin
         tax_salary := p_salary - 2000;
         if tax_salary <=0
         then return 0;
         end if;
         return tax_salary *5/100;
     end;
end get_tax;
 
创建过程:
create or replace procedure update_car_system
as
begin
   update t_car_system set system_desc = 'hao';
   commit;
end update_students;
查询该过程是否创建:
select * from user_objects t where lower(t.object_name) = 'update_car_system';
select * from user_source t where lower(t.name) = 'update_car_system';
执行该过程:
execute update_car_system;


=========================================================================

http://wjw465150.iteye.com/blog/423270

存储过程可以帮助你在代码中分离逻辑,这基本上总是有益的。这个分离的好处有:
• 快速创建应用,使用和应用一起改变和改善的数据库模式。
• 数据库模式可以在以后改变而不影响Java对象,当我们完成应用后,可以重新设计更好的模式。
• 存储过程通过更好的SQL嵌入使得复杂的SQL更容易理解。
• 编写存储过程比在Java中编写嵌入的SQL拥有更好的工具--大部分编辑器都提供语法高亮!
• 存储过程可以在任何SQL命令行中测试,这使得调试更加容易。

并不是所有的数据库都支持存储过程,但是存在许多很棒的实现,包括免费/开源的和非免费的,所以移植并不是一个问题。Oracle、PostgreSQL和DB2都有类似的存储过程语言,并且有在线的社区很好地支持。
存储过程工具很多,有像TOAD或TORA这样的编辑器、调试器和IDE,提供了编写、维护PL/SQL或pl/pgsql的强大的环境。

存储过程确实增加了你的代码的开销,但是它们和大多数的应用服务器相比,开销小得多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值