Oracle中PL/SQL的块与表达式

 更新时间:2022年05月05日 15:18:40   作者:springsnow  
这篇文章介绍了Oracle中PL/SQL的块与表达式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、块(Block)

是PL/SQL的基本执行单元,由定义部分,执行部分(必须)和例外处理部分组成。

Declare
/*定义部分――定义常量、变量、游标、例外、复杂数据类型*/
Begin
/*执行部分――要执行的pl/sql语句和sql语句*/
Exception
/*例外处理部分――处理运行的各种错误*/
end;

例:

declare
     v_ename varchar2(5);
     v_sal number(7,2);
begin
     select ename,sal into v_ename,v_sal from emp
     where empno = &no;
     dbms_output.put_line('雇员名:'||v_ename||' 薪水: '||v_sal);
exception
     when no_data_found
     then dbms_output.put_line('您输入的编号有误!');    
end;

二、PL/SQL词汇单元

PL/SQL词汇单元是它的最小的组件:分隔符、标识符、字面量、注释。

1、分隔符

分隔符是一个字符或字符的组合,在PL/SQL中有特殊的意义。不要在分隔符中嵌入其它的字符。

简单分隔符只有一个字符。

  • +, -, *, / :加法,减法/否定,乘法,除法
  • %:属性索引
  • ‘:字符串分隔符
  • .:组件选择
  • (,):表达式或列表分隔符
  • ::主机变量指示符
  • ,:项目分离符
  • “:带引号的标识符分隔符
  • =:关系运算符
  • @:远程访问指示符
  • ;:声明终止符

复合分割符由两个字符组成。

  • :=:赋值运算符
  • =>:操作符关联
  • **:乘方运算符
  • <<, >>:标签分隔符(开始和结束)
  • /, /:多行注释分隔符(开始和结束)
  • –:单行注释指示符
  • ..:范围操作
  • <, >, <=, >=:关系运算符
  • <>, ‘=, ~=, ^=:不同版本的不相等的

2、标识符

  • 标识符命名pl/sql元素,包括:常量、光标、异常、关键字、标签、包、保留字、子程序、类型、变量。
  • 标识符是由一个字母后面可以跟更多的字母,数字,美元符号,下划线和数字符号,并且不得超过30个字符。而像连字符(-)、斜线(/)等符号都是不允许使用的。
  • 除了字符串和字符以外,PL/SQL对大小写是不敏感的。
  • 不能使用保留关键字作为标识符。

3、文本

整数:030, 6, -14, 0, +327672E5, 5 * 10**3

字符:'Z' , '%' , '7' , ' ' , 'Hello, world!'

布尔: TRUE、FALSE和 null

日期: DATE '1998-12-25' ; TIMESTAMP '1997-10-22 13:01:01' ;

4、注释

单选注释

Select * from emp where empno=7788;--取得员工信息

多行注释

/*……*/来划分

三、PL/SQL代码编写规则

  • 当定义变量时,建议用v_作为前缀;常量用c_作为前缀 ;游标用_cur作为后缀;当定义例外用e_作为前缀。
  • PL/sql块中的语句不区分大小写
  • PL/SQL中可以使用大多数的单行SQL函数:round,upper,to_char,month_between .

到此这篇关于Oracle中PL/SQL块与表达式的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • oracle数据库锁表的原因及解决方法

    oracle数据库锁表的原因及解决方法

    出现锁表的情况很多种,但是大部分情况都是更新表,然后并没有提交,导致数据库的表被锁的情况,处理方式也比较简单,本文小编给大家介绍了oracle数据库锁表的原因及解决方法,需要的朋友可以参考下
    2023-11-11
  • 用Mimer Validator检查SQL查询

    用Mimer Validator检查SQL查询

    本文主要介绍了如何用Mimer Validator检查SQL查询的技巧方法和步骤。
    2009-04-04
  • oracle 11g下载、安装、使用图文教程

    oracle 11g下载、安装、使用图文教程

    这篇文章主要介绍了oracle 11g下载、安装、使用图文教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Oracle undo_management参数不一致错误

    Oracle undo_management参数不一致错误

    因RAC的undo_management参数不一致导致Oracle数据库mount报ORA-01105 ORA-01606错误,本文就这个问题
    2013-11-11
  • Oracle中多表关联批量插入批量更新与批量删除操作

    Oracle中多表关联批量插入批量更新与批量删除操作

    这篇文章主要介绍了Oracle中多表关联批量插入,批量更新与批量删除操作,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Oracle 监听器密码设置方法(LISTENER)

    Oracle 监听器密码设置方法(LISTENER)

    在缺省的情况下,任意用户不需要使用任何密码即通过lsnrctl 工具对Oracle Listener进行操作或关闭,从而造成任意新的会话都将无法建立连接
    2016-09-09
  • oracle 多个字符替换实现

    oracle 多个字符替换实现

    CSDN上的一个网友,需要一个sql语句的解决方案需求是这样的求写oracle多个字符替换(有测试数据)
    2009-10-10
  • ORACLE DATAGUARD中手工处理日志v$archive_GAP的方法

    ORACLE DATAGUARD中手工处理日志v$archive_GAP的方法

    从9i以后,oracle dataguard 备库一般都不需要手工处理丢失的日志,FAL自动会帮我们处理,本文主要通过个案例来讲下手工处理丢失的日志的方法。
    2014-08-08
  • 在Oracle表中进行关键词搜索的过程

    在Oracle表中进行关键词搜索的过程

    这篇文章主要介绍了在Oracle表中进行关键词搜索的过程,我们可以通过Oracle SQL Developer或Toad运行PL/SQL块,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 实现oracle数据库字段自增长(两种方式)

    实现oracle数据库字段自增长(两种方式)

    这篇文章主要通过两种方式实现oracle数据库字段自增长,第一种方式是序列+触发器,第二种方式序列+显示调用序列,需要的朋友可以参考下
    2015-07-07

最新评论