分类: Oracle
2009-09-08 01:25:58
2.1.6 声明和初始化变量
在PL/SQL 中,变量必须被声明,以便于被引用。这是在PL/SQL 语句块中最初的声明部分所完成的。请记住,每个声明语句必须以分号结束。可以使用赋值操作符:= 对变量进行赋值。如果把某变量声明为常量,则该变量的值会在整个语句块中都会保持不变。为实现这一点,必须在声明时进行赋值。
在文本文件中输入如下内容,并从SQL*Plus 或者Oracle SQL Developer 会话中运行这个脚本:
PL/SQL 变量是使用表达式和操作符集成到一起的。表达式是变量和字面值的序列,中间使用操作符进行分隔。然后,这些表达式被用于操作和比较数据,以及执行计算。
表达式由操作数和操作符的组合构成。操作数是操作符的参数,它可能是变量、常量或者函数调用。操作符指定需要采取的动作(+、** 、OR 等等)。
可以使用括号来控制Oracle 计算表达式的顺序。继续向自己的SQL 脚本添加如下语句:
最初,变量v_lname 被声明为数据类型VARCHAR2,长度为30,值为NULL 。变量v_regdate 被声明为日期类型,值为NULL 。变量v_pctincr 被声明为CONSTANT NUMBER,长度为4,精度为2,值为1.15 。变量v_counter 被声明为NUMBER,值为0。变量v_YorN 被声明为类型BOOLEAN,值为TRUE 。
这个过程的输出如下所示(确保在SQL *Plus 会话中已经执行SET SERVEROUTPUT ON):
当可执行部分完成后,变量v_counter 的值从NULL 修改为1。变量v_new_cost 的值从NULL 修改为1200 (800 * 1.50)。
请注意,为了在语句块的不同地方随时查看某变量的值,常见的处理方式是添加DBMS_OUTPUT.PUT_LINE(v_variable_name);
C)在脚本执行结束时,这些变量的值是什么?
答案:变量v_counter 的值从1 修改为6,是1+5)*2)/2 的计算结果。变量new_cost 的值从1200 修改为1800,是(1200* 6)/4 的计算结果。这个过程的输出如下所示:
如果自己是程序员,知道编程语言有哪些可以使用的操作符是非常重要的。当解决某些编程问题时,这些操作符能够提供很多解决方案。如下是PL/SQL 中可以使用的操作符:
算术操作符(** 、* 、/ 、+ 、–)。
比较操作符(=、<>、!=、<、>、<=、>=、LIKE、IN、BETWEEN、IS NULL、IS NOT NULL、NOT IN)。
逻辑操作符(AND、OR、NOT)。
字符串操作符(||、LIKE)。
表达式。
操作符优先级。
** 、NOT。
+、– (算术操作符以及表示负数)*、/、+、–、|| =、<>、!=、<=。
>=、<、>、LIKE、BETWEEN、IN、IS NULL。
AND (关联逻辑)。
OR (包含逻辑)。