PL/SQL基本使用

PLSQL

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

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

基本语法使用

定义记录类型

Declare
type 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;

数据查询操作

Declare
type 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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值