• Oracle学习笔记十八:PL/SQL变量类型


    一、PL/SQL运算符

    类型 符号 说明
    赋值运算符 := Java 和 C# 中都是等号,PL/SQL 的赋值是 :=
    特殊字符 || 字符串连接操作符
    -- PL/SQL 中的单行注释
    /*,*/ PL/SQL 中的多行注释,多行注释不能嵌套。
    <<,>> 标签分隔符,只为了标识程序特殊位置。
    .. 范围操作符,比如 1..5 标识从 1 到 5
    算术运算符 +,-,*,/ 基本算术运算符
    ** 求幂操作,比如:3**2=9
    关系运算符 >,<,>=,<=,= 基本关系运算符,=表示相等关系,不是赋值。
    <>,!= 不等关系
    逻辑运算符 AND,OR,NOT 逻辑运算符

    二、PL/SQL变量定义

    1)PL/SQL块中变量使用前必须先定义,变量必须定义在DECLARE块中。

    2)PL/SQL支持 SQL 中的数据类型,PL/SQL 中正常支持 NUMBER、VARCHAR2、DATE 等 Oracle SQL 数据类型。

    3)声明变量必须指明变量的数据类型,也可以声明变量时对变量初始化,变量声明必须在声明部分。声明变量的语法是:

    语法格式:声明变量

    变量名 数据类型[:=初始值]

    DECLARE
        sname VARCHAR2(20) := 'jerry';
    BEGIN
        sname:=sname||' and tom';
        dbms_output.put_line(sname);
    END;

    4)可以通过SELECT……INTO语句为变量赋值:

      • 语句从数据库中查询数据对变量进行赋值。

      • 查询的结果只能是一行记录,不能是零行或者多行记录。

    declare
        v_name varchar2(20);
    begin
        select ename into v_name from emp where empno='1001';
        dbms_output.put_line(v_name);
        exception
            when others then
            dbms_output.put_line('异常');
    end;

    三、PL/SQL变量数据类型

    PL/SQL是强类型的语言,使用变量时必须指定变量的数据类型。PL/SQL常见的数据类型有:

      • varchar2(length)

      • number(n[,m])

      • date/timestamp

      • long 变长大字符串类型

      • boolean 逻辑类型 注意:Oracle SQL 中没有 boolean 类型

      • %rowtype 引用数据库表中一行作为数据类型

      • %type 引用某一个变量或者数据库表中某一列的类型作为当前变量的类型

    四、PL/SQL属性类型

    1)%rowtype和%type称之为属性类型:

      • 可以使用%type和%rowtype来声明变量,而不必指定特定的数据类型。

      • 这两个属性提供了这种方式:在声明变量时,不指定变量的数据类型,而由表/视图列来定义变量。

    2)rowtype类型使用:

    declare
        myemp emp%rowtype;
    begin
        select * into myemp from emp where empno='1001';
        dbms_output.put_line(myemp.ename);
        exception
            when others then
            dbms_output.put_line('异常');
    end;

     3)type类型使用:

    declare
        v_name emp.ename%type;
    begin
        select ename into v_name from emp where empno='1001';
        dbms_output.put_line(v_name);
        exception
            when others then
            dbms_output.put_line('异常');
    end;

    五、PL/SQL记录类型

    1)Record类型

    该类型可以存储由多个列值组成的一行数据。当使用记录类型的变量时,首先需要定义记录的结构,然后再定义记录类型的变量。我们使用 type 关键字来定义记录类型,其语法为:

    type 记录类型名 is record

    (

      变量1 数据类型,

      变量2 数据类型,

      ……

      变量n 数据类型

    );

    2)Record类型使用:

    declare
        type emp_type is record
        (
            empno emp.empno%type,
            ename emp.ename%type
        );
        v_emp emp_type;
    begin
        select empno,ename into v_emp from emp where empno='1001';
        dbms_output.put_line(v_emp.empno || '-' || v_emp.ename);
        exception
            when others then
            dbms_output.put_line('异常');
    end;
  • 相关阅读:
    Python 学习笔记 11.模块(Module)
    Python 学习笔记 8.引用(Reference)
    Python 学习笔记 9.函数(Function)
    Python 学习笔记 6.List和Tuple
    Python 学习笔记 4.if 表达式
    Python 学习笔记 2.自省
    Python 学习笔记 3.简单类型
    Python 学习笔记 7.Dictionary
    Python 学习笔记 5.对象驻留
    Python 学习笔记 10.类(Class)
  • 原文地址:https://www.cnblogs.com/atomy/p/16336300.html
Copyright © 2020-2023  润新知