变量的声明、赋值、运算符

1.声明并使用变量

  • 变量可以在声明时赋值,也可以先定义后赋值;
  • 使用%TYPE与%ROWTYPE可以根据已有类型定义变量。

PL/SQL是一种强类型的编程语言,所有的变量都必须在它声明之后才可以使用,变量都要求在DECLARE部分进行声明,而对于变量的名称也有如下的一些规定:

  • 变量名称的组成可以由字母、数字、_、$、#等组成;
  • 所有的变量名称要求以字母开头,不能是Oracle中的保留字(关键字);
  • 变量的长度最多只能为30个字符。

声明变量的语法

  • 所有的变量都要求在DECLARE部分之中进行,在定义变量的时候也可以为其赋默认值,变量声明语法如下:
    • 变量名称 [CONSTANT] 类型 [NOT NULL] [:=value] ;
  • 组成:

CONSTANT

定义常量,必须在声明时为其赋予默认值;

NOT NULL

表示此变量不允许设置为NULL;

:=value

表示在变量声明时,设置好其初始化内容。

定义变量不设置默认值

DECLARE

v_result VARCHAR2(30);----这里没有赋值

BEGIN

DBMS_OUTPUT.put_line('v_result的内容是['||v_result||']');

END;

/

v_result的内容是[]

定义变量

DECLARE

v_resultA NUMBER := 100 ;    -- 定义一个变量同时赋值

v_resultB NUMBER ;        -- 定义一个变量没有设置内容

BEGIN

v_resultb := 30 ;            -- 没有区分大小写

DBMS_OUTPUT.put_line('计算的结果是:' || (v_resultA + v_resultB) ) ;

END ;

/

定义非空变量

DECLARE

v_resultA NUMBER NOT NULL := 100 ; -- 定义一个非空变量v_resultA,同时赋值

BEGIN

DBMS_OUTPUT.put_line('v_resultA变量内容:' || (v_resultA) ) ;

END ;

/

定义常量

DECLARE

v_resultA CONSTANT NUMBER NOT NULL := 100 ; -- 定义一个常量同时赋值

BEGIN

DBMS_OUTPUT.put_line('v_resultA常量内容:' || (v_resultA) ) ;

END ;

/

2.使用%TYPE声明变量类型

  • 在编写PL/SQL程序的时候,如果希望某一个变量与指定数据表中某一列的类型一样,则可以采用“变量定义 表名称.字段名称%TYPE”的格式,这样指定的变量就具备了与指定的字段相同的类型。

使用“%TYPE”定义变量

DECLARE

eno        emp.empno%TYPE ;     -- 与empno类型相同

ename    emp.ename%TYPE ; -- 与ename类型相同

BEGIN

DBMS_OUTPUT.put_line('请输入雇员编号:') ;

eno := &empno ;                -- 由键盘输入雇员编号

SELECT ename INTO ename FROM emp WHERE empno=eno ;

DBMS_OUTPUT.put_line('编号为:' || eno || '雇员的名字为:'|| ename) ;

END ;

/

编号为:7900雇员的名字为:JAMES

3.使用%ROWTYPE声明变量类型

  • 使用“%ROWTYPE”标记可以定义定义表中一行记录的类型。
  • 当用户使用了“SELECT … INTO …”将表中的一行记录设置到了ROWTYPE类型的变量之中,就可以利用“rowtype变量.表字段”的方式取得表中每行的对应列数据。

使用ROWTYPE装载一行记录

DECLARE

deptRow    dept%ROWTYPE ;        -- 装载一行dept记录

BEGIN

SELECT * INTO deptRow FROM dept WHERE deptno=10 ;

DBMS_OUTPUT.put_line('部门编号:'||deptRow.deptno || ',名称:' || deptRow.dname || ',位置:' || deptRow.loc) ;

END ;

/

部门编号:10,名称:ACCOUNTING,位置:NEW YORK

运算符

赋值运算符、连接运算符、关系运算符、逻辑运算符

  • 赋值运算符
    • 赋值运算符的主要功能是将一个数值赋予指定数据类型的变量,在之前声明变量时已经使用此运算符,其使用语法如下所示。
    • 变量 := 表达式 ;
  • 连接运算符
    • 连接运算符使用“||”即可完成操作。
  • 关系运算符
    • 关系运算符主要使用的是之前讲解限定查询时使用过的若干操作符

运算符

符号

描述

关系运算符

>、<、>=、<=、=、!=、<>

进行大小或相等的比较,其中不等于有两种:!=和<>

判断null

IS NULL、IS NOT NULL

判断某一列的内容是否是null

逻辑运算符

AND、OR、NOT

AND表示多个条件必须同时满足,OR表示只需要有一个条件满足即可,NOT表示条件去反,即:真变假、假变真

范围查询

BETWEE 最小值 AND 最大值

在一个指定范围中进行查找,查找结果为:“最小值<=内容<=最大值”

范围查询

IN

通过IN可以指定一个查询的范围

模糊查询

LIKE

可以对指定的字段进行模糊查询

  • 逻辑运算符

使用逻辑运算符可以连接多个布尔表达式的结果,在PL/SQL中逻辑运算符一共包含了三种:AND、OR、NOT。

与(AND)

连接多个条件,多个条件同时满足时才返回TRUE,有一个条件不满足结果就是FALSE;

或(OR)

连接多个条件,多个条件之中只要有一个返回TRUE,结果就是TRUE,如果多个条件返回的都是FALSE,则结果才是FALSE;

非(NOT)

求反操作,可以将TRUE变FALSE、FALSE变TRUE。

使用赋值运算符

DECLARE

v_info    VARCHAR2(50) := '寻香径' ;

v_url        VARCHAR2(50) ;

BEGIN

v_url := 'http://www.cnblogs.com/thescentedpath/' ;

DBMS_OUTPUT.put_line(v_info) ;

DBMS_OUTPUT.put_line(v_url) ;

END ;

/

字符串连接

DECLARE

v_info    VARCHAR2(50) := '寻香径' ;

v_url        VARCHAR2(50) ;

BEGIN

v_url := 'http://www.cnblogs.com/thescentedpath/' ;

DBMS_OUTPUT.put_line(v_info || ',网址:' || v_url) ;

END ;

/

使用关系运算符

DECLARE

v_url        VARCHAR2(50) := 'http://www.cnblogs.com/thescentedpath/' ;

v_num1        NUMBER := 80 ;

v_num2        NUMBER := 30 ;

BEGIN

IF v_num1 > v_num2 THEN

DBMS_OUTPUT.put_line('第1个数字比第2个数字大。') ;

END IF ;

IF v_url LIKE '%wendy%' THEN

DBMS_OUTPUT.put_line('网址之中包含wendy单词。') ;

END IF ;

END ;

/

观察逻辑运算结果

DECLARE

v_flag1        BOOLEAN := TRUE ;

v_flag2        BOOLEAN := FALSE ;

v_flag3        BOOLEAN ;

BEGIN

IF v_flag1 AND ( NOT v_flag2 ) THEN

DBMS_OUTPUT.put_line('v_flag1 AND ( NOT v_flag2 ) = TRUE') ;

END IF ;

IF v_flag1 OR v_flag3 THEN

DBMS_OUTPUT.put_line('v_flag1 OR v_flag3 = TRUE') ;

END IF ;

IF v_flag1 AND v_flag3 IS NULL THEN

DBMS_OUTPUT.put_line('v_flag1 AND v_flag3 的结果为NULL。') ;

END IF ;

END ;

/

PL/SQL编程基础(二):变量的声明、赋值、(赋值、连接、关系、逻辑)运算符的更多相关文章

  1. Oracle数据库编程:PL/SQL编程基础

    2.PL/SQL编程基础: PL/SQL块:        declare        定义部分        begin        执行部分        exception        异 ...

  2. 【PL/SQL编程基础】

    [PL/SQL编程基础]语法: declare 声明部分,例如定义变量.常量.游标 begin 程序编写,SQL语句 exception 处理异常 end: / 正斜杠表示执行程序快范例 -- Cre ...

  3. PL/SQL编程基础(三):数据类型划分

    数据类型划分 在Oracle之中所提供的数据类型,一共分为四类: 标量类型(SCALAR,或称基本数据类型) 用于保存单个值,例如:字符串.数字.日期.布尔: 标量类型只是作为单一类型的数据存在,有的 ...

  4. PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)

    PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/ ...

  5. PL/SQL编程基础——PL/SQL简介

    课程教师:李兴华 课程学习者:阳光罗诺 日期:2018-07-28 知识点: 1. 了解PL/SQL的主要特点 2. 掌握PL/SQL块的基本结构 PL/SQL PL/SQL是Oracle在关系数据库 ...

  6. Oracle Pl/SQL编程基础

    Pl/SQL简介 提高应用程序的运行性能, 提供模块化的程序设计, 自定义标示符, 具有过程语言控制结构, 良好的兼容性, 处理运行错误. Pl/SQL语言基础 sql是关系数据库的基本操作语言. s ...

  7. PL/SQL编程基础

    1. PL/SQL块的基础结构 DECLARE /* * 定义部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ BEGIN /* * 执行部分——PL/SQL语句和SQL语句 */ E ...

  8. PL/SQL 编程(二)游标、存储过程、函数

    游标--数据的缓存区 游标:类似集合,可以让用户像操作数组一样操作查询出来的数据集,实质上,它提供了一种从集合性质的结果中提取单条记录的手段. 可以将游标形象的看成一个变动的光标,他实质上是一个指针, ...

  9. PL/SQL编程基础(五):异常处理(EXCEPTION)

    异常处理 异常产生所带来的问题: 使用EXCEPTION程序块进行异常处理: 实现用户自定义异常. 使用异常可以保证在程序中出现运行时异常时程序可以正常的执行完毕: 用户可以使用自定义异常进行操作. ...

随机推荐

  1. sixxpack破解的文章!【转】

    星期天闲着没事玩游戏,玩游戏不能无外挂.于是百度了半天,找到了一个,看介绍貌似不错,就下载了下来.一看,竟然是用.net写的,下意识地Reflector了一下.发现竟是一个叫actmp的程序集.如图: ...

  2. web开发之微信公众号---微信公众好开发

    --------------------------------------time:2015/11/5 ----------------------------------------------- ...

  3. js学习之--Bootstrap Modals(模态框)

    http://www.runoob.com/bootstrap/bootstrap-v2-modal-plugin.html http://outofmemory.cn/bootstrap/tutor ...

  4. HBase复制

    HBase复制是一种在不同HBase部署中复制数据的方法.它能够作为一种故障恢复的方法,并提供HBase层次的高可用性.在实际应用中,比如.能够将数据从一个面向页面的集群拷贝到一个MapReduce集 ...

  5. myeclipse 配置

    1.配置java 新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0变量名:CLASSPATH 变量 ...

  6. VMware Host Agent服务不能正常启动

    VMware Host Agent服务不能正常启动 原因及解决方法 一直都在用VMWare Server 2.0,其他都还好,就是隔三差五的会有些小问题,比如VMware Host Agent服务不能 ...

  7. Linux安装php运行环境

    安装apache: yum install httpd httpd-devel  启动apache: /etc/init.d/httpd start 此时输入服务器的IP地址,应该看到apache的服 ...

  8. bootstrap中如何使input中的小图标获得点击事件

    bootstrap中,放入input中的小图标是不能点击的. 在表单中经常遇见密码旁边的眼睛图标点击后,可使密码可见. 要使小图标获得点击事件,可在小图标上覆盖一个跟小图标一样大的透明层,然后给透明层 ...

  9. 最全Java学习路线图——Java学习指南

    准备篇 适用/适合人群:适合基础小白 目标:掌握JavaSE. ●技术点小节: 1.开发工具的安装配置的介绍 2.JDK安装 3.DOS环境编程 4.Eclipse的安装使用 ●JAVA基础 1.基本 ...

  10. 如何用MathType编辑集合运算符号

    在涉及到集合的运算中,有交并且几种常见的运算,这在数学问题中也是很常见的公式.在用MathType编辑这些符号时,该怎么编辑呢?下面就介绍MathType集合运算符号的编辑方法. 具体操作过程如下: ...