在本章中,我们将学习PL/SQL中的常量和文字。常量在声明时指定值,并且在程序中不会更改。常量声明需要指定其名称,数据类型和值,并为其分配存储空间。声明也可以强加NOT NULL约束。
声明常数
使用CONSTANT关键字声明常量。它需要初始值,不允许在声明后更改该值。下面示例中声明的常量:PI,详细代码如下 -
PI CONSTANT NUMBER := 3.141592654; 
DECLARE 
   -- constant declaration 
   pi constant number := 3.141592654; 
   -- other declarations 
   radius number(5,2);  
   dia number(5,2);  
   circumference number(7, 2); 
   area number (10, 2); 
BEGIN  
   -- processing 
   radius := 9.5;  
   dia := radius * 2;  
   circumference := 2.0 * pi * radius; 
   area := pi * radius * radius; 
   -- output 
   dbms_output.put_line('半径: ' || radius); 
   dbms_output.put_line('直径: ' || dia); 
   dbms_output.put_line('圆周: ' || circumference); 
   dbms_output.put_line('面积: ' || area); 
END; 
/
当上述代码在SQL提示符下执行时,它会产生以下结果 -
半径: 9.5 
直径: 19 
圆周: 59.69 
面积: 283.53  
Pl/SQL procedure successfully completed.
PL/SQL文字
文字是一个不由标识符表示的显式数字,字符,字符串或布尔值。 例如,TRUE,7788,NULL,'zaixian tutorials'分别是Boolean,number或string类型的文字。 PL/SQL,文字区分大小写。 PL/SQL支持以下几种文字 -
- 数字文字
 - 字符文字
 - 字符串文字
 - 布尔文字
 - 日期和时间文字
 
下表提供了所有这些类别的文字值的示例。
| 序号 | 文字类型 | 示例 | 
|---|---|---|
| 1 | 数字文字 | 2346,050 78 -14 0 +32767,6.6667 0.0 -12.0 3.14159 +7800.00,6E5 1.0E-8 3.14159e0 -1E38 -9.5e-3 | 
| 2 | 字符文字 | 'A', '%', '9', ' ', 'z', '(' | 
| 3 | 字符串文字 | 'Hello, world!','zaixian Point','IT研修' | 
| 4 | 布尔文字 | TRUE, FALSE, NULL | 
| 5 | 日期和时间文字 | '1998-08-25','2017-10-02 12:01:01' | 
要在字符串文字中嵌入单引号,请将两个单引号放在一起,如以下程序所示 -
DECLARE 
   message  varchar2(30):= 'What''s xuhuhu.com!'; 
BEGIN 
   dbms_output.put_line(message); 
END; 
/
当上述代码在SQL提示符下执行时,它会产生以下结果 -
What's xuhuhu.com!
					