oracle package教程,Oracle package demo

1.package 程序包说明(由函数、过程、变量、常量、游标和异常组成)

create or replace package pk_test is

-- Author : CHEN

-- Created : 2019/10/21 11:34:30

-- Purpose : package test

-- Public constant declarations

-- constant := ;

words varchar2(100) := 'To be a better man!';

-- Public variable declarations

--;

v_count varchar2(100);

-- Public function and procedure declarations

--function () return ;

function f_get_money(v_salary number, v_month number) return number;

procedure p_insertnumbers(nums in integer);

end pk_test;

注意:可以将对象名加到END子句,这样会使在代码中逻辑关系更加清楚。

2.package body 程序包体(程序包体包含了程序包说明中列出的所有公有对象的代码块和说明。程序包体还可以包括没有在程序包说明中列出的对象,这些对象被称为私有对象,私有对象只能由统一程序包体中的其他对象使用)

程序包体的名称应该与程序包说明的名称相同。

create or replace package body pk_test is

-- Private type declarations

--type is ;

-- Private constant declarations

-- constant := ;

-- Private variable declarations

-- ;

-- Function and procedure implementations

function f_get_money(v_salary number, v_month number) return number is

-- ;

begin

--;

return v_salary * v_month;

end;

procedure p_insertnumbers(nums in integer) is

nums_a integer(5) := nums;

begin

LOOP

insert into t3 values ('test', sysdate);

commit;

nums_a := (nums_a - 1);

exit when nums_a < 1;

end loop;

end p_insertnumbers;

end pk_test;

准备:

create table T3

(

ACTION VARCHAR2(100),

A_TIME TIMESTAMP(6)

)

调用:

truncate table t3;

select * from t3;

select pk_test.f_get_money(1000,12) from dual;

call pk_test.p_insertnumbers(5);

select * from t3;

结果:

注意:PLS-00363: expression 'nums' cannot be used as an assignment target

oracle中不能为in型的变量赋值,所以需要建一个变量,让它等于in 的变量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值