一、应用背景:
PL/SQL是SQL的语言的扩展,是SQL和过程语言整合而成一种语言。在PL/SQL中可以完美的使用SQL语句。但是无法将SELECT语句的 执行结果展示出来,以及将执行结果进行二次处理。于是要求有一种机制可以处理这样的应用需求。
二、DQL:
1、定义:DQL= data query language,是数据查询语言,习惯上称之为SELECT语句。
2、作用:对表中数据进行查询、检索、展示。
3、关键字:
1)into //将SELECT查询结果赋值给指定的变量,从而使得查询结果可以进行二次处理。
2)结果唯一 //SELECT执行结果必须唯一,否则会抛出异常。
三、PL/SQL中DQL的使用:
语法:
select col_name1,col_name2 [,...,col_nameN] into var_name1,var_name2 [,...,var_nameN]
from table_name where ...;
说明:
col_name1 ----------- 表示字段名,字段名可以有多个。
into ----------- 关键字,表示将前面的字段值赋值给后面的变量。
var_name1 ----------- 表示变量名,变量名可以有多个。一般变量的个数与字段数相等。
table_name ----------- 表示表名
四、实例应用
实例1:
declare
v_name varchar2(20);
begin
select name into v_name from emp where userid='JC-BJ-0027';
dbms_output.put_line( 'The name is : '|| v_name );
end;
执行结果:
The name is : zhangye
PL/SQL procedure successfully completed.
实例2:
declare
v_userid varchar2(20); --声明变量
v_name varchar2(20);
v_sal number;
v_deptno number;
begin
select userid,name,sal,deptno into v_userid,v_name,v_sal,v_deptno
from emp
where userid='&userid'; --使用绑定变量
dbms_output.put_line( 'The name is : '|| v_name );
dbms_output.put_line( 'The sal is: '|| v_sal );
dbms_output.put_line( 'The deptno is: '|| v_deptno );
end;
执行结果:
Enter value for userid: JC-BJ-0025
old 9: where userid='&userid';
new 9: where userid='JC-BJ-0025';
The name is : hgx1
The sal is: 4000
The deptno is: 30
PL/SQL procedure successfully completed.
实例3:
declare
v_emp emp%rowtype; --声明复合变量
begin
select * into v_emp from emp where userid='JC-BJ-0027';
dbms_output.put_line( 'The name is : '|| v_emp.name);
dbms_output.put_line( 'The sal is: '|| v_emp.sal );
dbms_output.put_line( 'The deptno is: '|| v_emp.deptno);
end;
执行结果:
The name is : zhangye
The sal is: 30000
The deptno is: 40
PL/SQL procedure successfully completed.
阅读(321) | 评论(0) | 转发(0) |