可以数据库对象管理7plsql.pdf
第一章PLSQL基础匈厘
S%:结构化查询语言,描述了应该做些什么,但没有描述怎样去做。
PLSQL:程序设计语言,是面向过程的编程语言和SQL的结合。
在sqi语言的基础上,扩充了面向过程语言用到的一些程序结构,如:
变量和类型
控制语句,循环
过程和函数
对象类型和方法
PLSQL和OracleSQL语言集成到一起,提供了一种功能强大的结构化程序设计语言。
可以对数据库的对象管理.
PLSQL被称作块结构俄晤言,而PLSQL块是该语言的基本单位。在这个块中,可以包括程序代
码,变量,错误处理,过程,函数,触发器等等。
declare
产declarativesection*/部分,对变量,函数,过程等的非必需部分
begin
/executablesection/执行的主体,由plsql语句组成必■需
exception
^exceptionsection*/异常处理部分非必需
end;
2变量和类型
3程序控制结构
4游标
5过程,函数
6触发器
用
J1.2.1.1块的类型一块举例:01
*
createtabletest_table(ncolumnnumber.vcolumnvarchar2(20)):
declare
v_nunn1number:=1:
v__num2number:=2:
v_str1varchar2(20):,good,:
v_str2va^har2(20):,morning\
v_outputstrvarchar(20);
begin
insertintotest_table(ncolumn.vcolumn)values(v_num1,v_str1);
insertintotest_table(ncolumn.vcolumn)values(v_num2.v_str2);
selectvcolumnintov_outputstrfromtest_tablewherencolumnv_num1:
dbms_output.put_line(v_outputstr:
selectvcolumnintov_outputstrfromtest_tablewherencolumnv_num2:
dbm$_output.put_line(v_outputstr:
end;
编写一个plsql块,要求能够对emp表中指定的某个(10)部门的员工人数进行统计,
屏幕上打印出来。
121.3块的类型一触发器test
createorreplacetriggerBJnsert_Testbeforeinsertorupdateof
ncolumn
ontest_table氐
foreachrow
begin
if:new.ncolumn0then
raise_application_error(-20180,fyoucanonlyinsertaintnumber);
endif;
endBJnsert_Test;
I国三I
1.2.2PLSQL块的结构
所有的pl/sqI块都包括三个部分:
部分,执行部分,异盘然理部分,其中,执行部分是必选的,其他部分可选