PL/SQL基本使用

来源:互联网 发布:虚拟机mac安装xcode 编辑:程序博客网 时间:2024/05/22 05:20

PLSQL

PL/SQL程序由三个块组成,即
声明部分 、执行部分、异常处理

Declare
声明部分:在此声明PL/SQL用到的用到的变量,类型以及游标,还有局部存储过程和函数
Begin
执行部分:过程及SQL语句,即程序主要部分
Exception
执行异常部分,错误处理
END;

基本语法使用

定义记录类型

Declaretype test_rec is record(    l_name varchar2(30),    d_id number(4));v_emp test_rec;begin    v_emp.l.name:=‘Tom’;    v_emp.d_id:=1234;        dbms_output.put_line(v_emp.l_name || ','|| V_emp.d_id);end;

数据查询操作

Declaretype test_rec is record(    l_name varchar2(30),    d_id number(4));v_emp test_rec;begin    select last_name, department_id into v_emp     from employees    where employee_id=200;end;

使用rowtype表示所有行

declare    v_emp employees%rowtype;//表示employees表里面的字段放入v_emp

数据库赋值

Declare    emp_id   emp.empno%TYPE:7788;    emp_name emp.ename%TYPE;    wages    emp.sal%TYPE;Begin    select ename, NVL(sal,0) into emp_name, wages    From emp where empNo = emp_id    dbms_output.put_line(emp_name||'---'||to_char(wages));End;

流程控制语句

if  条件  then 实现elsif 条件 then 实现elsif 条件 then 实现else 实现end if;

Case表达式

case selector    when expression1 then result1    when expression2 then result2    ```    when expressionN then resultN    [Else resultN+1]end;

循环语句

Loop    执行语句    exit when<条件语句>;end loop;   

while

while 布尔表达式 loop    要执行的语句;end loop;

数字循环

for 循环计数器 in (reverse)下限..上限 loop    执行的语句;end loop;

使用Goto跳转

Goto  lable...<<label>>

游标的使用

游标

declare    --定义游标    cursor c_cursor is select last_name, salary                       from employees                       where rownum < 11                       order by salary;    v_name employees.last_name%type;    v_sal  employees.salary%type;begin    --打开游标    open c_cursor;    --提取游标    fetch c_cursor into v_name, v_sal;    while c_cursor %found loop        dbms_output.put_line(v_name || ':' || v_sal);                fetch c_cursor into v_name, v_sal;    end loop;    --关闭游标    close c_cursor;end;

%FOUND 最近一次读取记录是否成功
%NOTFOUND 与上相反
%ISOPEN 游标打开,返回true
%ROWCOUNT 读取游标记录数

待更新。。。

0 0
原创粉丝点击