`

PL/SQL程序设计-学习笔记1--简介和组成

阅读更多
一、PL/SQL程序设计简介
高级数据库程序设计语言,对ORACLE数据库进行访问,PL/SQL是ORACLE系统的核心语言。
PL/SQL    Procedure Language & Structured Query Language
PL/SQL是对SQL语言存储过程语言的扩展。
PL/SQL包括两部分:数据库引擎部分;可嵌入到许多产品工具中得独立引擎。
PL/SQL的好处:客户端和服务器进行大量数据交换,效率会受到网络影响;PL/SQL编程将大量数据处理的应用放到服务器端执行,省去数据在网络间传输时间。

二、PL/SQL块结构和组成元素
PL/SQL程序由三个块组成,即声明(变量、类型及游标,局部的存储过程和函数)部分、执行(过程及SQL语句)部分、异常处理部分。
PL/SQL块可以分为三类:无名块(动态构造,只能执行一次);子程序(存储在数据库中得存储过程、函数及包等,建好后可以在其他程序中调用);触发器(当数据库发生一些操作时,会触发一些事情,从而自动执行相应的程序)。
标识符不区分大小写,变量名与表中字段名不能完全一样。
变量命名,建议方法:程序变量(V_name)、程序常量(C_name)、游标变量(Name_cursor)、异常标识(E_name)、表类型(Name_table_type)、表(Name_table)、记录类型(Name_record)、SQL*Plus替代变量(P_name)、绑定变量(G_name)

记录类型:把逻辑相关的数据作为一个单元存储起来,称作PL/SQL RECORD的域(FIELD),其作用是存放互不相同但逻辑相关的信息。
记录类型实例:
  declare
type test_rec is record(l_name varchar2(30),d_id number(4));
v_emp test_rec;
begin
select last_name,department_id into v_emp from employees where emploee_id = 200;
dbms_output.put_line(v_emp.l_name || ',' || v_emp.d_id);
end;
%TYPE : 定义一个变量,其数据类型与已经定义的某个数据变量的类型相同,或者与数据库表的某个列的数据类型相同,这时可以使用%TYPE。
%ROWTYPE : 返回一个记录类型,其数据类型和数据库表的数据结构相一致。
表(嵌套表),例:
declare
type dep_table_type is table of departments%rowtype;
my_dep_table dep_table_type := dep_table_type();
begin
my_dep_table.extend(5);
for i in 1..5 loop
select * into my_dep_table(i) from departments where department_id = 200+10*i;
end loop;
dbms_output.put_line(my_dep_table.count());
dbms_output.put_line(my_dep_table(1).department_id);
end;
运算符和表达式(数据定义): 赋值号(:=)、范围运算符(..)、字符连接符(||)、关系号(=>)
字符到数字转换:v_total :=TO_NUMBER('100.0')+sal;
数字到字符转换:v_comm :=TO_CHAR('123.45')||'元';
字符到日期转换:v_date :=TO_DATE('2001.07.03','yyyy.mm.dd');
日期到字符转换:v_to_day :=TO_CHAR(SYSDATE,'yyyy.mm.dd hh24:mi:ss');
变量的作用范围及可见性。
注释:使用双“-”(减号)加注释;使用/* */来加一行或多行注释。
end;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics