oracle中存储过程

1.存储过程的定义:存储过程是在数据库服务器上对一段或多段sql语句组成的pl/sql代码进行封装的程序块。

 好处:1.简化复杂操作;2.提高效率,存储过程执行操作只需编译一次,可以多次被调用。而不使用存储过程,单独使用sql操作的话,每次都需要编译。

1.定义一个简单的存储过程:

SQL> show serveroutput;
SQL> /
SQL> set serveroutput on;
SQL> create or replace procedure p_ljf
  2  as
  3  begin
  4  dbms_output.put_line('我的第一个存储过程');
  5  end;
  6  /
 
Procedure created
 
SQL> call p_ljf;
 
call p_ljf
 
ORA-06576: 不是有效的函数或过程名
 
SQL> exec p_ljf;
 
我的第一个存储过程
 
PL/SQL procedure successfully completed
 
SQL>


2.无返回值的存储过程:

create or replace procedure p_book(v_id in number,v_name in varchar2)
  is
  begin
    insert into book values(v_id,v_name);
    end;
call p_book(2,'ljfbook');
select * from  book;

1 2 ljfbook

3.有返回值的存储过程:

create procedure p_liu(v_id in number,v_show out varchar2) is
begin
 select emp_code into v_show from cvms_user where emp_id=v_id;
  end;
   set serveroutput on;
SQL> declare
  2  name cvms_user.emp_code%type;// name varchar2(255);也可以的;
  3  begin
  4  p_liu(3,name);
  5  dbms_output.put_line(name);
  6  end;
  7  /
SF10002
PL/SQL procedure successfully completed











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值