引用型变量
举例:
my_name emp.ename%type
引用型变量
set serveroutput on
declare
--定义引用类型变量:查询并打印7839的姓名和薪水
--pename varchar2(20)
--psal number
pename emp.ename%type;
psal emp.sal%type
begin
select ename,sal into pename,psal from emp where empno = 7839'
打印姓名和薪水
dbms_output.put_line(pename||'的薪水是'||psal);
end;
记录型变量
举例:
emp_rec emp%rowtype
记录型变量分量的引用
emp_rec.ename := 'adams';
--使用记录型变量,查询并打印7839的姓名和薪水
set serveroutput on
declare
--定义记录型变量:注意代表一样
emp_rec emp%rowtype
begin
--得到7839
select *into emp_rec from emp where empno = 7839;
--打印姓名和薪水
dbms_out.put_line(emp_rec.ename||'的薪水是'||emp_rec.sal);
end;
/
--引用型变量
set serveroutput on
declare
-- 定义引用型变量:查询并打印7839的姓名和薪水
-- pename varchar2(20);
-- psal number;
pename emp.ename%type;
psal emp.sal%type;
begin
--得到7839的姓名和薪水
select ename,sal into pename,psal from emp where empno=7839;
-- 打印
dbms_output.put_line(pename||'的薪水是'||psal);
end;
/
-- 使用记录变量,查询并打印7839的姓名和薪水
set serveroutput on
declare
--定义记录型变量:注意代表一行
emp_rec emp%rowtype;
begin
--得到7839一行的信息
select * into emp_rec from emp where empno=7839;
--打印姓名和薪水
dbms_output.put_line(emp_rec.ename||'的薪水是'||emp_rec.sal);
end;
/
记录类型,引用类型变量
引用型变量与记录型变量
匿名块
--引用型变量 DECLARE v_name emp.ename%type; v_sal emp.sal%type; BEGIN select ename ,sal into v_name ,v_sal from emp where empno=2223 ; dbms_output.putline(v_name||'的薪资是:'||v_sal); END; / --记录型变量 DECLARE v_emp_rec emp%rowtype; --记录一行数据 BEGIN select * into v_emp_rec from emp where empno=8962 ; dbms_output.putline(v_emp_rec.ename||'的薪资是:'||v_emp_rec.sal); END; /
--打印Hellow world
declare
---说明部分
begin
--程序体
dbms_output.put_line('Hellow World');
end;
/
--打开输出开关
set serveroutput on
PL/SQL是面向对象的语言,对SQL过程的补充
不同的数据库的SQL扩展语言:
oracle:PL/SQL
DB2:SQL/PL
SQL Server:Transac-SQL(T-SQL)
PL/SQL程序结构:
declare--说明部分(变量说明、光标申明、例外申明)
begin --语句序列(DML语句)
exception--例外处理语句
end;
/
PL/SQL的赋值方法:1.:=;2.into+关键字
一.说明部分
1.定义基本变量:
类型:char ,varchar(字符串 ),date ,number ,boolean ,long
举例:var1 char(15);
married boolean:=true;
psal number(7,2);--定义一个数字psal,有两位小数
2.应用型变量
举例:my_name emp.ename%type;--引用emp表中ename列的变量型号定义my_name
记录型变量
取表中一行的变量,表中有多个列,相当于数组,如果要用行中某列的类型
,用记录性变量名.该字段
引用型变量
变量名 表明.字段名%type --变量名应用该表的这个字段的类型
记住:他代表一行。
必须要用select先去得到。
如果这个enamel是个字符串,那么前面的my_name 就也是字符安穿的类型,以此类推。
my_name emp.ename%type;
指的是应用emp这张表上ename这个类型
所以,这是引用类型。
引用型变量与记录型变量。
11行是很精华的一列,就是有点难以理解
into语句的顺序要按照前面查询语句的顺序来写
引用型变量,引用你的类型作为我的类型
引用型变量:其中my_name表示变量名,emp表示员工表,ename表示员工名字段,整句代表引用emp表的ename字段类型作为该变量的类型。
引用型变量优势:它会随着参考类型改变而改变。
举例:注意在PL/SQL中,赋值有两种方式,一种是:=,另一种是使用into关键字,oracle中的dbms_output包的put_line参数中的连接符||。
记录型变量:取表中一行变量的类型作为变量的类型,可以理解记录型变量为数组,数组中的每一个元素就代表这一行的每一列,如果要引用其中某一列,可以通过——》变量名.字段名
举例:
记录型变量 代表表中的一行(多个列),类似数组
emp_rec.列名 := ‘xxx’ --引用某一列的数据
数据类型之引用类型,引用系统所持有的某种类型作为变量类型
引用型变量
my_name emp.ename%type;
--表示my_name这个变量的类型是引用emp这个表的ename列的类型
记录型变量
emp_rec emp%rowtype
--emp_rec相当于一个数组,存的类型是一条记录中的类型,打印某一列的时候,直接用emp_rec.列名即可
如:
select * into emp_rec from emp where empno=7389;
dbms_output.put_line(emp_rec.sal);
记录型变量
引用类型变量
记录型变量
引用类型变量
.....
引用型变量 my_name emp.ename%type;
my_name的变量类型与ename一致,my_name的变量类型随著ename的变量类型而改变
记录型变量 emp_rec emp%rowtype;
emp_rec为取行的类型
纪录型变量类型是一个数组
--使用引用型变量
declare
--定义引用型变量:查询并打印79939的姓名和薪水
--pnumnber numner (7,2);
pename emp.ename%type;
psal emp.sal%type
begin
select ename,sal into pename,psal from emp where empname=789
--选出789姓名和薪水并且赋值
-- :=和into