PL/SQL 學習筆記 2 文字(literal)和类型

(一)literal 是一个不能成为标识符的字符、数值或者布尔值。

 

1. 字符型文字

    就是串文字,包含了由单引号界定的一个或多个字符。字符型文字可直接赋给char后者varchar2的变量。如果想包含引号需要将两个单引号并排放置。'''' 相当于包含单个引号的字符,不等于'',''表示0长度字符串,在pl/sql中与null相同。

 

2. 数字型文字

    表示一个整数或者实数数值。可直接赋值给number的变量。是唯一可以成为算术表达式的一部分文字。

 

3. 布尔型文字

    true、false、null

 

(二)变量

1. 变量声明

    variable_name type [constant] [not null] [:= value]; 可以使用default替代:=,对于未初始化的变量会赋值为null。另外在同一行上只能有一个变量声明。如:

 

DECLARE

        v_fristname, v_lastname VARCHAR2(20); 是错误的 应该是

        v_fristname VARCHAR2(20);

        v_lastname VARCHAR2(20); 
 

 

 (三)pl/sql 4种类型

     标量(scalar)、复合(composite)以及引用(reference)和lob类型。

  1. 使用%type

      如:

 

DECLARE

            v_Tempvar NUMBER(7,3) NOT NULL := 12.3;

            v_var2 v_Tempvar%TYPE; -- returns NUMBER(7,3) 
 

2. 用户定义子类型

    基于现有类型的pl/sql类型。主要是提供个新类型便于理解。pl/sql的standard包里定义了一些,如decumal和integer就是number的子类型。

    语法如下:

SUBTYPE new_type IS original_type

 定义子类型不能直接使用限定如下面的声明就是错误的

DECLARE
              var1 NUMBER(4);
              SUBTYPE subType1 is var1%TYPE;
              subType1 var2

 可以使用%type来实现这样的需求。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值