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

Oracle学习笔记十八:PL/SQL变量类型一、PL/SQL运算符 类型 符号 说明 赋值运算符 := Java 和 C# 中都是等号,PL/SQL 的赋值是 := 特殊字符 || 字符串连接操作符 — PL/SQL 中的单行注释 /*,*/

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;

 

原文地址:https://www.cnblogs.com/atomy/archive/2022/06/04/16336300.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5162.html

(0)
上一篇 2023-05-20
下一篇 2023-05-20

相关推荐

  • Python工程师必备开发环境——Spyder 5.3.3

    Python工程师必备开发环境——Spyder 5.3.3Python语言已经成为目前最受欢迎的编程语言之一,其在数据分析、机器学习、科学计算等领域的应用越来越广泛。而一个优秀的Python开发环境是Python工程师必不可少的工具之一。Spyder 5.3.3以其易用性和高效性备受开发者喜爱,本文将详细介绍Spyder 5.3.3的优点和使用方法。

    2024-07-28
    37
  • 「Flink」Flink 1.9 WebUI运行作业界面分析[通俗易懂]

    「Flink」Flink 1.9 WebUI运行作业界面分析[通俗易懂]运行作业界面在以下界面中,可以查看到作业的名称、作业的启动时间、作业总计运行时长、作业一共有多少个任务、当前正在运行多少个任务、以及作业的当前状态。这里的程序:一共有17个任务,当前正在运行的是17个

    2023-01-25
    154
  • lua操作redis_自动脚本

    lua操作redis_自动脚本使用过Redis事务的应该清楚,Redis事务实现是通过打包多条命令,单独的隔离操作,事务中的所有命令都会按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。事务中的命令要么全部

    2023-06-07
    142
  • 慢查询SQL排查[通俗易懂]

    慢查询SQL排查[通俗易懂]原文链接:https://www.caituotuo.top/c56bd0c5.html 0. 前言 假设一次执行20条SQL,我们如何判断哪条SQL是执行慢的烂SQL,这里就需要用到慢查询日志。 在

    2023-05-14
    150
  • Python wxPython 开发指南

    Python wxPython 开发指南
    wxPython 是一个开源、跨平台的 GUI 工具包,旨在提供一种 Python 编程语言和 wxWidgets C++类库相结合的开发体验。wxWidgets 是一个跨平台的 GUI 工具包,包含一组 C++类库和可执行文件,用于创建跨平台的 GUI 应用程序。

    2024-06-07
    47
  • Spark Streaming vs. Structured Streaming

    Spark Streaming vs. Structured Streaming细说Spark Streaming和Structured Streaming的区别

    2022-12-28
    170
  • Docker Redis 5.0 集群(cluster)搭建「终于解决」

    Docker Redis 5.0 集群(cluster)搭建「终于解决」一、准备工具 安装docker(来自官网) (1) 安装所需的软件包 $ sudo yum install -y yum-utils device-mapper-persistent-data …

    2023-02-26
    151
  • 使用Python去除换行符

    使用Python去除换行符在读取文件和数据时,经常会遇到换行符,例如读取CSV文件时,每行数据之间都有一个换行符。如果不去除这些换行符,会给数据处理带来一定的麻烦和不便。Python提供了去除换行符的方法,本文将详细介绍如何使用Python去除换行符。

    2024-08-31
    25

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注