ITPub博客

首页 > 数据库 > Oracle > PLSQL Language Referenc-PL/SQL静态SQL-添加带有默认值的光标形参

PLSQL Language Referenc-PL/SQL静态SQL-添加带有默认值的光标形参

原创 Oracle 作者: luisedalian 时间:2014-03-16 17:14:23 0 删除 编辑

添加带有默认值的光标形参

--如果为光标添加了一个形参,而且为它指定的默认值,则不需要修改对原来光标的引用

DECLARE

    CURSOR c (job VARCHAR2, max_sal NUMBER, hired DATE DEFAULT to_date('31-12-1999', 'DD-MM-YYYY')) IS

        SELECT last_name, first_name, (salary - max_sal) overpayment

        FROM employees

        WHERE job_id = job

        AND salary > max_sal

        AND hire_date > hired

        ORDER BY salary;

    PROCEDURE print_overpaid IS

        last_name_   employees.last_name%TYPE;

        first_name_  employees.first_name%TYPE;

        overpayment_      employees.salary%TYPE;

    BEGIN

        LOOP

            FETCH c INTO last_name_, first_name_, overpayment_;

            EXIT WHEN c%NOTFOUND;

            DBMS_OUTPUT.PUT_LINE(last_name_ || ', ' || first_name_ ||

            ' (高出 ' || overpayment_ || ')');

        END LOOP;

    END print_overpaid;

BEGIN 

    DBMS_OUTPUT.PUT_LINE('高工资的SA_REP:');   

    OPEN c('SA_REP', 10000);  --已经存在的引用

    print_overpaid;

    CLOSE c; 

    DBMS_OUTPUT.PUT_LINE('04年之后雇佣的高工资的SA_ERP:'); 

    OPEN c('SA_REP', 10000, to_date('31-12-04', 'DD-MM-YY'));  -- 新的引用

    print_overpaid;

    CLOSE c;

END;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1122707/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    5677057