Oracle中PL/SQL的块与表达式
作者:springsnow 发布时间:2024-01-28 21:30:34
一、块(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 .
来源:https://www.cnblogs.com/springsnow/p/9394911.html


猜你喜欢
- Numpy通过观察Python的自有数据类型,我们可以发现Python原生并不提供多维数组的操作,那么为了处理矩阵,就需要使用第三方提供的相
- 我就废话不多说了,大家还是直接看代码吧~def sq2(x,e): e = e #误差范围 low=
- 近日,sql数据库入门学习群有朋友问到,利用sql如何删除表格的前1000行数据,是否可以实现?如果是oracle数据库管理软件,实现起来相
- 前言主要介绍OpenCV中的分水岭算法、图像金字塔对图像进行分割的方法。一、使用分水岭算法分割图像分水岭算法的基本原理为:将任意的灰度图像视
- 很多时候我们会发现有的时候输出的结果特别多的时候,会在最后输出时用。。。代替,最后输出一个总长度,那要咋么弄咧?import pandas
- 本文实例讲述了python批量生成本地ip地址的方法。分享给大家供大家参考。具体分析如下:这段代码用于在本地计算机上生成本地ip地址绑定到网
- 如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提
- 发现问题pandas版本0.25.3import pandas as pdsymbol_info_columns = ['1'
- 在SQL Server 2005中,它的另外一个强大的新特点是数据库快照。数据库快照是一个数据库的只读副本,它是数据库所有数据的映射,由快照
- 本文实例讲述了PHP基于phpqrcode类生成二维码的方法。分享给大家供大家参考,具体如下:使用PHP语言生成二维码,还是挺有难度的,当然
- 简介当前很多网站直接采用第三方认证登录,例如支付宝/微信/ Github 等。goth封装了接入第三方认证的方法,并且内置实现了很多第三方认
- 场景需求:需要在Flask服务器的本地找一张图片返回给前端展示出来。问题疑点:通常前端的<img>标签只会接受url的形式来展示
- 引言今天在使用Pytorch导入此前保存的模型进行测试,在过程中发现输出的结果与验证结果差距甚大,经过排查后发现是forward与eval(
- 假设有两个dict x和y,合并成一个新的dict,不改变 x和y的值,例如x = {'a': 1, 'b'
- 包括安装时提示有挂起的操作、收缩数据库、压缩数据库、转移数据库给新用户以已存在用户权限、检查备份集、修复数据库等 (一)挂起操作 在安装Sq
- python正则表达式括号python中re库函数的简单用法re.findall(pattern,string)匹配所有符合正则表达式的字符
- lighttpd (http://www.djangoproject.com/r/lighttpd/) 是一个轻量级的Web服务器,通常被用
- 更改主题File → Settings → Appearance & Behavior → Appearance → Theme结果
- 功能:实现网页内容的即时编辑,增加页面的可用性、交互性。方法1:直接通过textarea标签实现,请运行下边代码:<!DOCTYPE
- objectobject 是 Python 为所有对象提供的父类,默认提供一些内置的属性、方法;可以使用 dir 方法查看新式类以 obje