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

相关推荐

  • MySQL 储存引擎知识点[通俗易懂]

    MySQL 储存引擎知识点[通俗易懂]一:MySQL 存储引擎概述 1.1 什么是存储引擎: '''MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、

    2023-04-14
    110
  • mysql创建和管理表作业_mysql创建子表

    mysql创建和管理表作业_mysql创建子表创建和管理表 基础知识 一条数据的存储 标识符命名规则 MySQL中的数据类型 常用 创建和管理数据库 删除后,除非有备份,否则,不能恢复 创建数据库 方式一:直接创建 CREATE DATABASE

    2023-05-08
    106
  • 最小值定义和计算方法 | Python

    最小值定义和计算方法 | Python最小值是一组数据中的最小数值。最小值通常被用来衡量数据的底部或最低点。它指的是一组数据中最小的值,也就是所有数据中值最小的那一个。

    2024-02-26
    54
  • mysql-5.7.21

    mysql-5.7.211 、 下载对用的版本信息 地址是:https://dev.mysql.com/downloads/mysql/ 2 、 解压到目录 D: oolsmysqlmysql-5.7.21-winx6

    2022-12-28
    105
  • 菊长说丨一文读懂MySQL4种事务隔离级别「建议收藏」

    菊长说丨一文读懂MySQL4种事务隔离级别「建议收藏」经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么呢?今天我们就找菊长去,请他帮大家梳理一下这些各具特色的事务隔离级别,咱走着~~~ …

    2023-04-01
    104
  • MySQL数据库从入门到放弃[通俗易懂]

    MySQL数据库从入门到放弃[通俗易懂]MySQL数据库从入门到放弃 193 数据库基础 194 初识MySQL 195 Windows安装MySQL 196 Linux安装MySQL 197 Mac安装MySQL 198 MySQL存储引

    2023-04-14
    101
  • 甜甜老师1993教学视频_gauss db

    甜甜老师1993教学视频_gauss db无论你是做数据库运维还是数据库开发,都是围绕着数据库吃饭。然而随着计算和数据上云的趋势快速发展,计算和存储资源池化带来了系统设计的颠覆,传统数据库步履蹒跚。 另一方面,随着“国产风”和“去IOE化”的

    2023-02-17
    107
  • Oracle静默安装模板

    Oracle静默安装模板
    oracle安装环境配置前提下 1 在安装文件/database/response/*有三个配置文件模板 [oracle@oracledb response…

    2023-04-06
    108

发表回复

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