PLSQL可以分为三部分
-- Created on 2020/3/4 by DEPEN
declare
-- 生命变量,游标
i integer;
begin
-- 执行的语句
-- 异常处理
end;
常简的变量
-
普通变量(char, varchar2, date, number, loolean, long)
-
特殊变量类型(引用变量,记录型变量)
申明变量
变量名 变量类型(变量长度
v_name varchar2(20);
普通变量赋值
- 直接赋值语句
v_name := '特朗普';
- 语句赋值,
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
来源:oschina
链接:https://my.oschina.net/depeng414/blog/3188075