plsql编程

℡╲_俬逩灬. 提交于 2020-03-05 00:40:54

PLSQL可以分为三部分

-- Created on 2020/3/4 by DEPEN 
declare 
  -- 生命变量,游标
  i integer;
begin
  -- 执行的语句
  -- 异常处理
end;

常简的变量

  • 普通变量(char, varchar2, date, number, loolean, long)

  • 特殊变量类型(引用变量,记录型变量)

申明变量

变量名 变量类型(变量长度

v_name varchar2(20);

普通变量赋值

  1. 直接赋值语句
v_name := '特朗普';
  1. 语句赋值,select ... into ...

执行

declare
  -- 姓名
  v_name varchar2(20) := '曹操';
  -- 薪水
  v_sal number;
  -- 地址
  v_addr varchar2(200);

begin
  -- 直接赋值
  v_sal := 3000;
  -- 语句赋值
  select '深圳市福田区益田村109栋' into v_addr from dual;
  -- 打印
  dbms_output.put_line('[姓名]:' || v_name || '; [薪水]:' || v_sal || '; [地址]:' ||
                       v_addr);
end;

输出

[姓名]:曹操; [薪水]:3000; [地址]:深圳市福田区益田村109栋

引用变量赋值

变量的类型和长度取决于表中字段的类型和长度

通过表名.字段名%TYPE指定变量的类型和长度,例如

v_name  hr.ename%TYPE;

执行

declare
  -- 姓名
  v_name employees.first_name%type;
  -- 薪水
  v_sal employees.salary%type;

begin
  select first_name, salary 
  into v_name, v_sal
  from employees where EMPLOYEE_ID = 101;
  -- 打印
  dbms_output.put_line('[姓名]:' || v_name || '; [薪水]:' || v_sal);
end;

打印

[姓名]:Neena; [薪水]:17000

记录型变量

接受表中的一整行记录,相当于java的一个对象,说变了就是条记录

语法:变量名称 表名%ROWTYPE

v_emp employees%ROWTYPE

表employees中字段

执行

declare
  v_emp employees%ROWTYPE;
begin
  select * into v_emp from employees where EMPLOYEE_ID = '100';
  dbms_output.put_line('[EMPLOYEE_ID]:' || v_emp.employee_id || '; [FIRST_NAME]:' || v_emp.first_name);
end;

打印

[EMPLOYEE_ID]:100; [FIRST_NAME]:Steven
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!