Oracle PLSQL Demo - 14.定义定参数的显示游标

declare
    v_empno scott.emp.empno%type;
    v_sal   scott.emp.sal%type;
    cursor cur_emp(v_empno number default 7369) is
        select t.empno, t.sal from scott.emp t where t.empno = v_empno;

begin

    open cur_emp(7566);

    loop
        fetch cur_emp
            into v_empno, v_sal;

        exit when cur_emp%notfound;

        dbms_output.put_line(v_empno || ‘   ‘ || v_sal);

    end loop;

    close cur_emp;

end;
时间: 2024-12-17 07:02:35

Oracle PLSQL Demo - 14.定义定参数的显示游标的相关文章

Oracle PLSQL Demo - 08.定义显式游标[Define CURSOR, Open, Fetch, Close CURSOR]

declare v_empno scott.emp.empno%type; v_sal scott.emp.sal%type; cursor cur_emp is select t.empno, t.sal from scott.emp t; begin open cur_emp; loop fetch cur_emp into v_empno, v_sal; exit when cur_emp%notfound; dbms_output.put_line(v_empno || ' ' || v

Oracle PLSQL Demo - 01.定义变量、打印信息

declare v_sal number(5) := 6000; begin --if you could not see the output in console, you should set output on first use the command in command line : set serveroutput on dbms_output.put_line(v_sal); end;

Oracle PLSQL Demo - 11.定义包头[Define PACKAGE]

CREATE OR REPLACE PACKAGE temp_package_demo is v_demo NUMBER(3); PROCEDURE p_demo_1(userid NUMBER DEFAULT v_demo, SAL number); FUNCTION f_demo(userid NUMBER) RETURN BOOLEAN; END temp_package_demo;

Oracle PLSQL Demo - 12.定义包体[Define PACKAGE BODY]

CREATE OR REPLACE PACKAGE BODY temp_package_demo is FUNCTION f_demo(userid NUMBER) RETURN BOOLEAN IS v_temp varchar2(1); BEGIN SELECT 1 INTO v_temp FROM scott.emp WHERE empno = userid; RETURN TRUE; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN FALSE; END;

Oracle PLSQL Demo - 22.查看字符串的长度[lengthb, length],判断字符串是否包含中文

--Count the length of string select lengthb('select * from scott.emp') as countted_by_byte, length('select * from scott.emp') as countted_by_char from dual; --For some character encoding, the length() and the lengthb() is same in english --you may us

Oracle PLSQL Demo - 03.流程判断[IF ELEIF ELSE]

declare v_job varchar2(50) := 'Programmer'; v_sal number; begin if v_job = 'Programmer' then v_sal := 6000; elsif v_job = 'Senior Programmer' then v_sal := 8000; else v_sal := 10000; end if; dbms_output.put_line(v_sal); end;

Oracle PLSQL Demo - 18.01管道function[查询零散的字段组成list管道返回]

--PACKAGE CREATE OR REPLACE PACKAGE test_141213 is TYPE type_ref IS record( ENAME VARCHAR2(20), WORK_CITY VARCHAR2(20), SAL NUMBER(10)); TYPE t_type_ref IS TABLE OF type_ref; FUNCTION retrieve(v_name varchar2) RETURN t_type_ref PIPELINED; END test_14

Oracle PLSQL Demo - 16.弱类型REF游标[没有指定查询类型,已指定返回类型]

declare Type ref_cur_variable IS REF cursor; cur_variable ref_cur_variable; rec_emp scott.emp%RowType; v_sql varchar2(100) := 'select * from scott.emp t'; begin Open cur_variable For v_sql; Loop fetch cur_variable InTo rec_emp; Exit When cur_variable

Oracle PLSQL Demo - 20.弱类型REF游标[没有指定查询类型,也不指定返回类型]

declare Type ref_cur_variable IS REF cursor; cur_variable ref_cur_variable; v_ename varchar2(10); v_deptno number(2); v_sal number(7,2); v_sql varchar2(100) := 'select t.ename, t.deptno, t.sal from scott.emp t'; begin Open cur_variable For v_sql; Loo