PL/SQL与函数

一、PL/SQL简述

PL/SQL(Procedural Language/SQL)是一种过程化语言,PL/SQL是Oracle的专用语言,它是对标准SQL语言的扩展,它允许在其内部嵌套普通的SQL语句,也可以定义变量和控制程序的执行流程,这样就将SQL语句的数据操纵和查询能力与PL/SQL的过程处理能力结合在一起了。


PL/SQL程序块

标准PL/SQL块的语法格式:

[DECLARE]              --声明部分,可选
BEGIN                  --执行部分,必选
[EXCEPTION]            --异常处理部分,可选
END

eg:定义一个PL/SQL代码块,计算两个整数的和与这两个整数的差的商

set serveroutput on
declare
      a int:=100;
      b int:=200;
      c number;
begin
      c:=(a+b)/(a-b);
      dbms_output.put_line(c);
      exception
            when zero_divide then
                dbms_output.put_line('除数不能为0!');
end;
/

说明:set serveroutput on是设置系统输出,一次会话只需要写一次

a int:=100;中的:=是PL/SQL中的赋值语句

/是结束符

输出结果:



定义变量和常量

1、定义变量

变量是指其值在程序运行过程中可以改变的数据存储结构,定义变量必须的元素就是变量名和数据类型,另外还有可选的初始值,其标准语法如下:

<变量名><数据类型>[(长度):=<初始值>];

2、定义常量

常量是指其值在程序运行过程中不可改变的数据存储结构,定义常量必须的元素包括常量名、数据类型、常量值和constant关键字,其标准语法格式如下:

<常量名> constant <数据类型> := <常量值>;


基本数据类型

1、数值类型

数值类型主要包括NUMBER、PLS_INTEGER和BINARY_INTEGER三种基本类型。其中,NUMBER类型的变量可以存储整数或浮点数;而BINARY_INTEGER或PLS_INTEGER类型的变量只存储整数。

NUMBER(m)             m代表数值总的位数

NUMBER(m,n)          m代表数值总的位数,n代表小数位数

2、字符类型

字符类型主要包括VARCHAR2、CHAR、LONG、NCHAR和NVARCHAR2等。这些类型的变量用来存储字符串或字符数据

VARCHAR2(m)       m<32767

CHAR(m)               m<32767,有默认值1

3、日期类型

日期类型只有一种--即DATE类型,用来存储日期和时间信息,DATE类型的存储空间是7个字节,分别使用一个字节存储世纪、年、月、天、小时、分钟和秒。

4、布尔类型

布尔类型也只有一种--即BOOLEAN,主要用于程序的流程控制和业务逻辑判断,其变量可是TRUE、FALSE或NULL中的一种


特殊类型

1、%type

使用%type关键字可以声明一个与指定列名称相同的数据类型,它通过紧跟在指定列名的后面

eg:在SCOTT模式下,使用%type类型的变量输出emp表中编号为7369的员工姓名和职务信息

set serveroutput on
  declare 
     var_ename  emp.ename%type;
     var_job    emp.job%type;
  begin
     select ename,job into var_ename,var_job from emp where empno=7369;
     dbms_output.put_line('编号为7369的员工姓名为&#x
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值