2007 Oracle数据库基础教程 口声明一个变量,使它的类型与某个变量或 数据库基本表中某个列的数据类型一致, 可以使用%TYPE 示例 v_empnol emp empno %TYPE; av_empno2 v_empno1%TYPE
2007 Oracle 数据库基础教程 26 声明一个变量,使它的类型与某个变量或 数据库基本表中某个列的数据类型一致, 可以使用%TYPE。 示例 ◼ v_empno1 emp.empno%TYPE; ◼ v_empno2 v_empno1%TYPE;
2007 Oracle数据库基础教程 变量的作用域 口变量的作用域是指变量的有效作用范围,从变量 声明开始,直到块结束。 口如果PL/SQL块相互嵌套,则在内部块中声明的变 量是局部的,只能在内部块中引用,而在外部块 中声明的变量是全局的,既可以在外部块中引用, 也可以在内部块中引用。 口如果内部块与外部块中定义了同名变量,则在内 部块中引用外部块的全局变量时需要使用外部块 名进行标识
2007 Oracle 数据库基础教程 27 变量的作用域 变量的作用域是指变量的有效作用范围,从变量 声明开始,直到块结束。 如果PL/SQL块相互嵌套,则在内部块中声明的变 量是局部的,只能在内部块中引用,而在外部块 中声明的变量是全局的,既可以在外部块中引用, 也可以在内部块中引用。 如果内部块与外部块中定义了同名变量,则在内 部块中引用外部块的全局变量时需要使用外部块 名进行标识
2007 Oracle数据库基础教程 口<< OUTER>> 口 DECLARE 口 v ename CHAR(15) 口 y outer number(5); 口 BEGIN a v_outer: =10; 口 DECLARE v_ename CHAR(20) 口口口口口口 v inner date BEGIN v_inner:=sysdate y ename:= INNER V ENAME OUTER v ename=OUTER V ENAME 口END; a DBMS_ OUTPUT PUT_ LINE(V_ename); 口END
2007 Oracle 数据库基础教程 28 <<OUTER>> DECLARE v_ename CHAR(15); v_outer NUMBER(5); BEGIN v_outer :=10; DECLARE v_ename CHAR(20); v_inner DATE; BEGIN v_inner:=sysdate; v_ename:='INNER V_ENAME'; OUTER.v_ename:='OUTER V_ENAME'; END; DBMS_OUTPUT.PUT_LINE(v_ename); END;
2007 Oracle数据库基础教程 152.5编译指示 口编译指示是对编译程序发出的特殊指令, 也称伪指令。 ■关键字: PRAGMA 口PL/SQL提供以下四种编译指示: EXCEPTION工NTT □告坼编程序将一个特定的错矦号与程序中所声明 的异常标炽符芙联起来。 RESTRICT REFERENCES □告坼编译程序打包程序的纯度,即对函数中可从使 用的SQL语与私包变量进行阻制
2007 Oracle 数据库基础教程 29 15.2.5编译指示 编译指示是对编译程序发出的特殊指令, 也称伪指令。 ◼ 关键字:PRAGMA PL/SQL提供以下四种编译指示: ◼ EXCEPTION_INIT 告诉编译程序将一个特定的错误号与程序中所声明 的异常标识符关联起来。 ◼ RESTRICT_REFERENCES 告诉编译程序打包程序的纯度,即对函数中可以使 用的SQL语句和包变量进行限制
2007 Oracle数据库基础教程 SERIALLY REUSEABLE 口告诉PL/SqL远行时引擎,在数据引用之间不要保持 包级数据。 AUTONOMOUS TRANSACTION □告坼编译程序,瑷程序块为自冾事,即瑗事麥的 提交和回滚是浤丘洗行的
2007 Oracle 数据库基础教程 30 ◼ SERIALLY_REUSEABLE 告诉PL/SQL运行时引擎,在数据引用之间不要保持 包级数据。 ◼ AUTONOMOUS_TRANSACTION 告诉编译程序,该程序块为自治事务,即该事务的 提交和回滚是独立进行的