PL/sql语法单元
1.字符集
- 所有大小写字母:包括A~Z和a~z。
- 数字:包括0~9.
- 空白字符:包括制表符、空格和回车符
- 其他常用英文符号
2.标识符
| 符号 | 说 明 | 符号 | 说 明 |
| + | 算数加或表示为整数 | - | 算数减或表示为负数 |
| * | 算数乘 | / | 算数除 |
| = | 关系等 | := | 赋值运算符 |
| < | 关系小于 | > | 关系大于 |
| <= | 关系小于等于 | >= | 关系大于等于 |
| != | 关系不等于(<>, ^=, ~=) | ; | 语句结束符 |
| ( | 括号运算符开始 | ) | 括号运算符结束 |
| /* | 多行注释开始 | */ | 多行注释结束 |
| << | 其实标签 | >> | 结束标签 |
| % | 游标属性指示符或代表任意个字符的通配符 | _ | 代表一个字符的通配符 |
| : | 主机变量指示符 | . | 表示从属关系符号 |
| ' | 字符串标示符 | " | 引证标示符 |
| -- | 单行注释符 | || | 字符串连接符号 |
| => | 位置定位符号 | ** | 幂运算符 |
- 数字类型:Binary_Integer,Pls_Interger,number
- 字符类型:Char,Nchar,Varchar2,Nvarchar2,varchar
- 日期/区间类型:Date,TimeStamp,Interval
- 行标识符:RowID,URowID
- 布尔类型:Boolean
- 原始类型:Raw,Long Raw
- Lob类型:Clob,Blob,Nclob,Bfile
- 记录类型:Record
- 集合类型:Table
注意:
- varchar2,char主要是用于存储来自数据库字符集的字符,而ncahar,nvarchar2用于存储来自国家字符集的字符串。
- RowID表示行的物理地址,而URowID既可以是行的物理地址,也可以是表示行的逻辑地址。
- Blob存放二进制数据,Clob,Nclob存放文本数据,而Bfile存储指向操作系统的指针。lob类型变量可以存储4GB的数据量。
- 记录类型:
前面介绍的数据类型都是标量数据类型,是系统预定义的。而复合类型,如记录类型,集合类型等需要用户自己定义。
- 变量的类型随参照的变量类型,数据库列表的类型,表结构的变化而变化
- 如果数据库表列中有NOT NULL 约束,%type,与%rowType返回的数据类型没有此限制。
6.变量与常量
- 每行只能定义一个变量;
- 如果加上一个关键字CONSTANT,则表示所定义的是一个常量 ,必须为它初始值;
- 如果定义变量时使用了NOT NULL关键字,则必须为变量赋初始值
- 如果变量没有赋初始值,则默认为null
- 使用DEFAULT 或“:=”为变量初始化
(2)变量的作用域
- EXCEPTION_INIT:告诉编译程序一个特定的错误号与程序中所声明的异常标识符关联起来
- RESTRICT_REFERENCES:告诉编译程序打包程序的纯度,对函数中可以使用的Sql语句和变量进行限制。
- SERIALLY_REUSEABLE:告诉PL/sql运行引擎时,在数据引用之间不要保持包级数据。
- AUTONOMOUS_TRANSCTION:告诉编译程序,改程序块为自制事务,即该事务的提交和回滚是独立运行的。
例如:
PL/sql语法单元的更多相关文章
- 【SQL】Oracle的PL/SQL语法及其拓展数据类型总结
PL/SQL语法 PL/SQL程序由三部分组成,声明部分.执行部分.异常处理部分. 模板: DECLARE /*变量声明*/ BEGIN /*程序主体*/ EXCEPTION /*异常处理部分*/ E ...
- PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)
PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/ ...
- SQL PL/SQL语法手册
SQL PL/SQL语法手册 目 录 第一部分 SQL语法部分 3 一. CREATE TABLE 语句 3 二. CREATE SEQUENCE语句 5 三. CREATE VIEW语句 6 ...
- PL/SQL语法
PL/SQL语法 由于pl/sql是编译后执行的,而sql语句是未经编译的,因此pl/sql语句在执行速度上更快,同时也减少了客户机和服务器的传输. 基本结构 DECLARE 声明变量.常量.用户定义 ...
- oracle PL/SQL语法基础
目录 数据类型 定义变量 PL/SQL控制结构 参考资料 Oracle10g数据类型总结 PL/SQL之基础篇 数据类型 学习总结 字符类型 char.nchar.varchar.nvarchar:有 ...
- oracle学习笔记(十五) PL/SQL语法结构以及使用
PL/SQL 简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言. PL/SQL 是对 SQL 的扩展. 支持多种数据类型,如大对象和 ...
- PL/SQL学习笔记程序单元
一:程序单元组成 一个PL/SQL程序单元主要包括三部分: 声明与定义部分:声明变量.常量.类型等:定义过程.函数等: 执行部分:执行PL/SQL语句:调用过程.参数:处理游标等: 异常处理部分:处理 ...
- PL/SQL学习笔记之基本块格式与语法
一:PL/SQL程序块 PL/SQL是一种块结构的语言,一个PL/SQL程序就是一个 代码逻辑块. PL/SQL程序由三部分构成: 1 声明 部分 使用关键字DECLARE开头,它是一个可选的部分,用 ...
- 每周一书《Oracle 12 c PL(SQL)程序设计终极指南》
本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQ ...
随机推荐
- AMQP
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.基于此协议的客户端 ...
- C#实现鸽巢排序
/// <summary> /// 鸽巢排序 /// 创建一个长度大于等于待排序数组array元素中最大值的标记数组mark, /// 将数组array中元素值个数映射到mark数组中. ...
- JavaScript 设计模式之工厂模式
- Android Studio 常见问题之Rendering Problems
1.有时会出现下面的问题: 可以按如下解决 点击任何一项即可
- 生产者-消费者问题【Java实现】
生产者-消费者问题是经典的并发问题, 非常适合并发入门的编程练习. 生产者-消费者问题是指, 有若干个生产者和若干个消费者并发地读写一个或多个共享存储空间:生产者创建对象并放入到共享存储空间,消费 ...
- xcode8集成百度地图(framwork包) archive是bitcode问题
(1)问题描述:真机和模拟器测试都能编译安装,但是需要打包archive的时候 总是编译出错,眼看就要上线了,还出现这问题,纠结啊.... 打印出来的错误: ld: bitcode bundle co ...
- Python基础第二篇
一.三元运算 if True: name='a' else: name='b' #上面的代码用三元运算表示: name="a" if True else "b" ...
- android获取状态栏高度
获取android屏幕上状态栏的高度方法网上很多这里不再敖述,只举一个例子 Rect rect = new Rect();getWindow().getDecorView().getWindowVis ...
- php 全角半角转换
<?phpheader("Content-type: text/html; charset=utf-8");// 第一个参数:传入要转换的字符串// 第二个参数:取0,半角转 ...
- [问题2014A01] 解答二(后 n-1 列拆分法,由郭昱君同学提供)
[问题2014A01] 解答二(后 n-1 列拆分法,由郭昱君同学提供) \[|A|=\begin{vmatrix} 1 & x_1^2-ax_1 & x_1^3-ax_1^2 &am ...