博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OCM读书笔记(2) - PL/SQL 基础
阅读量:7191 次
发布时间:2019-06-29

本文共 1757 字,大约阅读时间需要 5 分钟。

1. % type 用法,提取% type所在字段的类型

declare
    myid dept.deptno % type;
    myname dept.dname % type;
begin
    select deptno, dname into myid, myname from dept where deptno = 10;
    dbms_output.put_line(myid);
    dbms_output.put_line(myname);
end;2. % rowtype 用法,提取% rowtype所在字段的类型

declare
    type type_dept is table of dept % rowtype index by binary_integer;
    tb type_dept;
begin
    tb(1).deptno:='001';
    tb(2).deptno:='002';
    dbms_output.put_line(tb.COUNT);
end;
/3. TYPE用法,相当于结构体

declare
    lv_order_date DATE:=sysdate;
    lv_last_tr varchar2(5) default '001';
    lv_last varchar2(10) not null:='us';
    TYPE type_test is record(
        myid dept.deptno % type,
        myname dept.dname % type
    );
    rec type_test;
begin
    dbms_output.put_line(lv_last);
    select deptno, dname into rec from dept where deptno=10;
    dbms_output.put_line(rec.myid);
    dbms_output.put_line(rec.myname);
end;
/4. 游标的使用

declare
    g_id number(2) := 20;
    find_not char(1) := 'N';
    cursor cur is select * from dept;
    TYPE type_dept is record(
        myid dept.deptno % type,
        myname dept.dname % type,
        myaddr dept.loc % type
    );
    rect type_dept;
begin
    open cur;
    loop
        fetch cur into rect;
        exit when cur%     NOTFOUND;
        if rect.myid = g_id then
            dbms_output.put_line('Find it!!');
            dbms_output.put_line('DEPT NO: ' || rect.myid);
            dbms_output.put_line('DNAME: ' || rect.myname);
            dbms_output.put_line('LOC: ' || rect.myaddr);
        end if;
    end loop;
    close cur;
   
    if find_not = 'N' then
        dbms_output.put_line('No Record');
    end if;
end;
/5. for循环

begin

    for i in 1..5 loop
        dbms_output.put_line(i);
    end loop;
end;
/6. loop循环

declare
    v number := 1;
begin
    loop
        exit when v > 5;
        dbms_output.put_line(v);
        v := v+1;
    end loop;
end;
/ 7. while循环

declare
    v number := 1;
begin
    while v <= 5 loop
        dbms_output.put_line(v);
        v := v+1;
    end loop;
end;
/

转载于:https://www.cnblogs.com/thlzhf/p/3357884.html

你可能感兴趣的文章
河马MySQL注入工具v1.1
查看>>
UTR#2 T1
查看>>
Flask-在Flask中跨请求传递数据资源
查看>>
继承c3,网络编程,相互通信
查看>>
django 基础进阶ORM 2
查看>>
AndroidStudio安装流程 以及 使用过程中出现的异常
查看>>
SQL查询语句
查看>>
[转] sql存储过程去锁
查看>>
bzoj1242(弦图判定)
查看>>
谈谈熔断与降级
查看>>
洛谷P4513 小白逛公园
查看>>
类变量、成员变量、实例变量、局部变量、静态变量、全局变量的解释
查看>>
如何构建数据化管理体系
查看>>
python 面向对象高级编程
查看>>
Spring MVC MultiActionController example
查看>>
String类的subString(a,b)方法(基于jdk 1.9)
查看>>
进程池
查看>>
javaweb web.xml文件详解
查看>>
Android 动画:你真的会使用插值器与估值器吗?
查看>>
ubuntu虚拟化平台libvrit-bin
查看>>