第10章 PL_SQL编程语言1.ppt

第10章 PL_SQL编程语言1

* 外部变量是在某一程序的主环境下声明的一种变量,用来把运行时的值(可以是数字、字符)传入或传出一个或更多PL/SQL程序,在这个程序中可以像其他变量一样使用外部变量。在主环境或一个调用环境(可以是由过程、函数或包的PL/SQL语句调用的)下,声明外部变量,之后就可引用这些外部变量了。例如:可以在SQl*Plus环境里执行PL/SQL程序,那么对于PL/SQL程序来说,SQL*Plus就是它的主环境,而SQL*Plus中的变量对于PL/SQL来说就是外部变量。 创建一个绑定变量 在 SQL*Plus 环境下,使用VARIABLE关键字声明外部变量,如下所示: VARIABLE return_code NUMBER SQL 和 SQL*Plus 均可引用外部变量,而且 SQL*Plus 可以输出显示该型变量的值。 显示绑定变量 在 SQL*Plus 环境下,使用PRINT 命令显示绑定变量的当前值,如下所示: SQL VARIABLE n NUMBER … SQL PRINT n * 外部变量是在某一程序的主环境下声明的一种变量,用来把运行时的值(可以是数字、字符)传入或传出一个或更多PL/SQL程序,在这个程序中可以像其他变量一样使用外部变量。在主环境或一个调用环境(可以是由过程、函数或包的PL/SQL语句调用的)下,声明外部变量,之后就可引用这些外部变量了。例如:可以在SQl*Plus环境里执行PL/SQL程序,那么对于PL/SQL程序来说,SQL*Plus就是它的主环境,而SQL*Plus中的变量对于PL/SQL来说就是外部变量。 创建一个绑定变量 在 SQL*Plus 环境下,使用VARIABLE关键字声明外部变量,如下所示: VARIABLE return_code NUMBER SQL 和 SQL*Plus 均可引用外部变量,而且 SQL*Plus 可以输出显示该型变量的值。 显示绑定变量 在 SQL*Plus 环境下,使用PRINT 命令显示绑定变量的当前值,如下所示: SQL VARIABLE n NUMBER … SQL PRINT n * 为变量赋值 为引用外部变量,必须在引用前加前缀冒号,以区别已声明的PL/SQL变量。 BEGIN SELECT COUNT(*) INTO :emp_num FROM emp; END; / :host_var1 := v_sal; :global_var1 := YES; * 嵌套块 与SQL相比,PL/SQL的优势之一就是它有嵌套语句的功能。如果可执行的语句能运行,则其所在块就能被嵌套,因此,可把一个嵌套块当作一个语句使用,从而可以把一个块的可执行部分分成若干更小的块。异常处理部分可以包含若干嵌套块。 变量的范围 一个对象的作用域是指所涉及到该对象的程序的区域,可以在可执行部分引用已声明的变量。 * 标识符 一个标识符在它被声明的块和所有嵌套的子块、过程及函数中都是可见的。如果一个块没在其中找到某一标识符的声明,就会向外在嵌套块的父块中的声明部分查找,但不会向内在其子块或其兄弟块查找。 所有已声明的对象都有活动范围,这些对象包括:变量、游标、用户自定义的类型和常量。 附注: 可以使用块标签作为前缀限定一个标识符。 更多块标志的详细内容请参看 PL/SQL User’s Guide and Reference, Release 8, “Fundamentals.” * 嵌套块和变量作用域 在幻灯片所示的嵌套块中,变量y可以引用变量x,但是,变量x却不能引用变量y。如果变量y也用x命名,则它的值仅在嵌套块的活动期间有效。 作用域 标识符的作用域就是指可以引用该标识符的的程序单元(块、子程序或包)的区域。 可见性 一个标识符只有在它的作用域中用一个不限定的名字来引用时它才是可见的,即标识符只有是在它的作用域内才是可见的。 * 本课习题 1. 子块中的 V_MESSAGE. 2. 主块中的 V_TOTAL_COMP. 3. 子块中的 V_COMM . 4. 主块中的 V_COMM. 5. 主块中的V_MESSAGE . 答案 1. V_MESSAGE = CLERK. 2. V_TOTAL_COMP 在主块中部存在. 3. V_COMM = 0. 4. V_COMM = 12000. V_MESSAGE = SALESMANCLERK. DECLARE V_SAL NUMBER(7,2) := 60000; V_COMM NUMBER(7,2) := V_SAL * .20; V_MESSA

文档评论(0)

1亿VIP精品文档

相关文档