`
123003473
  • 浏览: 1060357 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

PL/SQL变量作用范围及可见性

 
阅读更多
在PL/SQL编程中,如果在变量的定义上没有做到统一的话,可能会隐藏一些危险的错误,这样的原因主要是变量的作用范围所致。与其它高级语言类似,PL/SQL的变量作用范围特点是:
 变量的作用范围是在你所引用的程序单元(块、子程序、包)内。即从声明变量开始到该块的结束。
 一个变量(标识)只能在你所引用的块内是可见的。
 当一个变量超出了作用范围,PL/SQL引擎就释放用来存放该变量的空间(因为它可能不用了)。
 在子块中重新定义该变量后,它的作用仅在该块内。


DECLARE
   Emess char(80):='Emess';
   
BEGIN

   DECLARE
      V1 NUMBER(4);
   BEGIN
      V1 := '1';
	  DBMS_OUTPUT.PUT_LINE(V1);
    DBMS_OUTPUT.PUT_LINE(Emess);
   EXCEPTION
      When TOO_MANY_ROWS THEN
         DBMS_OUTPUT.PUT_LINE ('More than one president');
   END;

   DECLARE 
      V1 NUMBER(4);
   BEGIN
       V1:=2;
        DBMS_OUTPUT.PUT_LINE(V1);
        DBMS_OUTPUT.PUT_LINE(Emess);
   EXCEPTION
      When TOO_MANY_ROWS THEN
          DBMS_OUTPUT.PUT_LINE ('More than one manager');
   END;
DBMS_OUTPUT.PUT_LINE(Emess);
EXCEPTION
   When others THEN
      Emess:=substr(SQLERRM,1,80);
      DBMS_OUTPUT.PUT_LINE (emess);
END;
分享到:
评论

相关推荐

    pl/sql汉化

    PL/SQL Developer是一款由Allround Automations开发的专业Oracle数据库管理工具,主要用于编写、调试和执行PL/SQL代码。"PL/SQL汉化"是指将PL/SQL Developer的默认英文界面翻译成中文,以便于中文用户更方便地使用该...

    PL/SQL存储过程编程

    #### 七、变量的作用域和可见性 - **执行块内嵌套**: - 内层执行块的变量对外层不可见。 - 内层执行块对外层变量的修改会影响外层变量的值。 #### 八、控制结构 - **条件语句**: - IF...ELSIF...ELSE...ENDIF;...

    PL/SQL编程

    PL/SQL的主要特点包括它的块结构和组成元素,如标识符、变量类型、运算符和表达式、变量赋值、变量作用范围及可见性、注释等。PL/SQL支持条件语句、循环、异常处理、游标等流程控制语句,这些控制语句允许开发者编写...

    PL/SQL编程详细文档资料

    ##### §2.7 变量作用范围及可见性 变量的作用范围决定了它可以在哪些代码范围内被访问。局部变量只在定义它的块内部可见,而全局变量则在整个程序中都可见。 ##### §2.8 注释 PL/SQL支持两种注释风格:单行注释...

    oracle pl/sql

    变量的作用域和可见性是理解程序行为的关键,需要明确变量是在哪个块内声明和使用,以避免命名冲突。 ### 结论 综上所述,Oracle PL/SQL作为一种强大的过程化语言,不仅提升了SQL的功能性和效率,还简化了数据库...

    PL/SQL程序设计

    子程序的位置可以是包内或包外,影响其可见性和调用方式。依赖性和执行权限管理确保了代码的安全性和正确性。 触发器是自动执行的PL/SQL代码,当特定的数据库事件发生时(如INSERT、UPDATE或DELETE),触发器会触发...

    PL/SQL学习文件

    #### 七、变量作用范围及可见性 - 变量的作用范围是指其在程序中可以被访问的区域。 - 变量的可见性是指变量对于其他程序组件(如其他块或过程)的可见程度。 #### 八、注释 - PL/SQL支持单行注释(--)和多行注释...

    绝对好的 oracle pl/sql 编程

    **2.7 变量作用范围及可见性** 变量的作用范围决定了它在何处可以被访问。局部变量只在其定义的块内有效,而全局变量则在整个程序中都可被访问。 **2.8 注释** PL/SQL 支持单行注释(--)和多行注释(/* */)。 ...

    PL/SQL 8.04

    PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种结合了SQL语言与过程编程的语言,专为数据库应用开发设计。PL/SQL 8.04是Oracle在2000年前后发布的一个版本,该版本提供了许多增强的功能和优化,以提升...

    Oracle Database PL/SQL Packages and Types Reference 11g Release

    7. **性能优化**:PL/SQL提供了诸如绑定变量、缓存(PL/SQL工作区)和并行执行等特性,以提高数据库操作的性能。 8. **安全性**:PL/SQL支持权限和角色的管理,允许开发者控制对包、过程和函数的访问权限,确保数据...

    PL/SQL 程序设计基础

    PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库系统中的一种编程语言,它结合了SQL的查询能力与过程性编程语言的功能,使得数据库管理与应用程序开发更为高效。在深入探讨PL/SQL的基础知识...

    Oracle PL/SQL语言初级教程

    每个块都有自己的作用域,变量在块内声明,仅在该块可见。 5. **PL/SQL的SQL操作** PL/SQL可以直接嵌入SQL语句,执行查询、插入、更新和删除操作。例如,使用`SELECT INTO`将查询结果存入变量,或者使用`EXECUTE ...

    pl/sql

    变量的作用域限制了变量的可见性和生命周期。例如,在内部块中定义的变量只能在该块内访问,而在外部块中定义的变量在整个外部块内都是可见的。 #### 四、数据类型与记录 PL/SQL的数据类型与SQL基本相同,但有一些...

    PL/SQL 基础.doc

    6. 变量的作用域和可见性 <<outer>> 1) 执行块里可以嵌入执行块; 2) 里层执行块的变量对外层不可见; 3) 里层执行块对外层执行块变量的修改会影响外层块变量的值 (在此里层,对其他里层则不影响,想要不影响此里...

    PL/SQL学习资料(.doc)

    **2.6 变量作用范围及可见性** - **局部变量**:仅在定义它们的PL/SQL块内有效。 - **全局变量**:通过使用PACKAGE可以定义全局变量。 **2.7 注释** - **单行注释**:使用--。 - **多行注释**:使用/*...*/。 **...

    PL/SQL 程序设计

    **2.6 变量作用范围及可见性** - **局部变量**:仅在声明它们的块内可见。 - **全局变量**:在整个程序范围内可见。 **2.7 注释** - **单行注释**:使用双减号(--)。 - **多行注释**:使用/* */。 **2.8 简单...

    PL_SQL_

    包括字符集、词法单元(如分隔符、标识符、文字、注释)、声明、命名规范、作用域和可见度、变量赋值、表达式与比较以及内置函数等内容,这些都是理解和编写PL/SQL程序的基础。 ### PL/SQL数据类型 预定义数据类型...

Global site tag (gtag.js) - Google Analytics