定义变量
变量声明语法请参见。
对以上语法格式的解释如下:
- type:变量类型。
- value:该变量的初始值(如果不给定初始值,则初始为NULL)。value也可以是表达式。
示例
%TYPE属性
%TYPE主要用于声明某个与其他变量类型(例如,表中某列的类型)相同的变量。假如我们想定义一个my_name变量,它的变量类型与employee的firstname类型相同,我们可以通过如下定义:
这样定义可以带来两个好处,首先,我们不用预先知道employee 表的firstname类型具体是什么。其次,即使之后firstname类型有了变化,我们也不需要再次修改my_name的类型。
%ROWTYPE属性
同样可以使用在cursor上面,该组数据的字段名称与字段类型都与employee表相同。%TYPE也可以引用cursor中某一列的类型,我们可以通过如下定义:
变量作用域
- 变量必须在declare部分声明,即必须建立BEGIN-END块。块结构也强制变量必须先声明后使用,即变量在过程内有不同作用域、不同的生存期。
- 在外部块定义的变量,可以在嵌套块中使用。但外部块不能访问嵌套块中的变量。