oracle包的结构,oracle 块结构、存储过程、函数、包、包体

set serveroutput on //显示信息

show error; //sql*plus显示错误信息

//只有定义部分的块

begin

dbms_output.put_line('hello word');

end;

//有定义部分还有执行部分

declare name varchar2(20); --定义部分

begin

--执行部分

select name into name from user where id=10;

dbms_output.put_line(name);

end;

//有定义部分、执行部分,还有异常部分块结构

declare name varchar2(20); --定义部分

begin

--执行部分

select name into name from user where id=$id;

dbms_output.put_line(name);

excepion --异常部分

when NO_DATA_FOUND then

dbms_output.put_line('出错了!');

when others then

dbms_output.put_line('不知道的异常!');

end;

//没有参数的proc

create or replace procedure sp_testname()

--定义部分

begin

--执行部分

select * from category ;

end;

//有带进参数的proc,in可写可不写,我发现mysql中in可以写在前面,但oracle中的in,out必须写中间

create or replace procedure sp_testname( id in number)

--定义部分

begin

--执行部分

select * from category where category_id=id;

end;

//有带进参数的proc,又有带出参数,mysql中好像varchar类型都要带长度,

create or replace procedure sp_testname(id number,categoryname out varchar2)

--定义部分

begin

--执行部分

select categoryname into categoryname from category where category_id=id;

end;

//函数

create or replace function calc(num1 number,num2 number) return number is result nunber(10,0);

begin

select num1+num2 into result from dual;

return result;

end;

//包

create or replace package sp_packages is

procedure insert_user(username varchar2,passwd varchar2);

function calc(num1 number,num2 number) return number;

//包体

create or replace package body sp_packages is

procedure insert_user(username varchar2,passwd varchar2) is

--定义部分

begin

--执行部分

insert into user values(username,passwd);

end;

function calc(num1 number,num2 number) return number is result nunber(10,0)

begin

--执行部分

select num1+num2 into result from dual;

return result;

end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值