zoukankan      html  css  js  c++  java
  • PL/SQL学习笔记程序包

    一:程序包的说明

    create or replace package p_xland
    is
    pragma serially_reusable;
    v_val varchar2(32);
    function set_val(ref_val varchar2) return varchar2;
    end p_xland;

    程序包可以包含多个变量,函数,过程。
    函数或过程应该放在变量之后声明
    pragma serially_reusable;决定创建的包是否可以连续使用。
    有此句,调用包的时候结果将不受以前调用所影响

    二:程序包体

    create or replace package body p_xland
    is
    pragma serially_reusable;
    function set_val(ref_val varchar2) return varchar2
    is
    begin
    v_val := ref_val;
    return 'myreturnval';
    end set_val;
    end p_xland;

    程序包体和程序包的名字必须相同
    程序包体内的过程或者函数与普通的过程函数相同
    总之程序包就像一个对象

    三:调用程序包

    declare
    v_myval varchar2(32):='xland';
    begin
    p_xland.v_val := v_myval;
    dbms_output.put_line(p_xland.v_val);
    v_myval := p_xland.set_val('xland2');
    dbms_output.put_line(p_xland.v_val);
    dbms_output.put_line(v_myval);
    end;


    下面是执行结果:

    xland
    xland2
    myreturnval


    四:删除程序包

    drop package body your_pb_name
    drop package your_p_name
  • 相关阅读:
    BZOJ 4503: 两个串 FFT
    [FJOI2014]最短路径树问题
    [JSOI2009]游戏Game
    bzoj 2463 [中山市选2009]谁能赢呢?
    [CQOI2007]余数求和
    [NOI2011]兔兔与蛋蛋游戏
    [HNOI2015]实验比较
    bzoj2125 最短路
    [COGS 2877]老m凯的疑惑
    [HNOI2015]开店
  • 原文地址:https://www.cnblogs.com/liulun/p/1542116.html
Copyright © 2011-2022 走看看