PL/SQL 语言编程1

PL/SQL 语言编程

PL/SQL:对SQL语句进行扩展,PL/SQL是过程化语言,具备一定的封装性,是专用于Oracle产品的数据库编程语言。

可以使用PL/SQL语言编写过程、函数、程序包、触发器等,并且可以将这些存储的代码供有权限的数据库用户重新使用。

PL/SQL 语言特点

  1. 过程化编程语言,基于事务处理的语言,一次连接数据库可以传送多条sql语句,而SQL需要逐条连接传送。
  2. PL/SQL对大小写不敏感,变量名、对象名和过程名大写。
  3. 模块化方式构建代码,数据库数据与程序相隔离。
  4. 能够使一组SQL语句的功能更具模块化程序特点,使用begin…end进行分割。
  5. 可以对程序中的错误进行自动处理,使程序能够在遇到错误的时候不会被中断。
  6. 具有较好的可移植性,可以移植到另一个Oracle数据库中。
  7. 集成在数据库中,调用更快。减少了网络的交互,有助于提高程序性能。
  8. 是匿名语句块(与后面存储过程、触发器不同)
  9. 注释语句:–和/*…*/

PL/SQL数据类型

PL/SQL数据类型可以分为标量类型、引用类型、复合类型、LOB类型。与SQL数据类型既有相同之处,也有不同之处

标量类型:只能存储单值的数据类型,声明时即分配内存,可以进一步划分为字符类型、数值类型、逻辑类辑类型、日期和时间类型等。

复合类型:可包含多个标量类型,包括记录、集合、嵌套表和可变长数组等,声明时分配内存,用完回收。

引用类型:包括ref cursor和ref两种,声明时不分配内存,在指向某一个变量时才指向其内存区,程序生命周期中可指向不同存储位置。

变量的定义格式

var_name [contant] type [not null] [:value]

特殊定义变量方法

%type和**%rowtype**作用:基于数据库已有列数据的类型定义变量类型,保持与表定义字段类型一致。

%type和%rowtype定义变量的区别:
·%type:声明单独的变量。
·%rowtype:绑定完整行的类型。

declare
--local variables here 
V_record emp.ename%type;一定义字段
trecord emp%rowtype;
begin
    -Test statesents here 
    select ename into V_record from emp where empno=7890;
    select * into t_record from emp where empno=7890;
    dbms_output.put_line('name is:'||v_record);
    dbms_output.put_line('records are:'||t_record.empno || ',' ||t_record.ename||','||t_record.mgr);
end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值