Chinaunix首页 | 论坛 | 博客
  • 博客访问: 76956
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 207
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-21 17:14
文章分类

全部博文(31)

文章存档

2014年(31)

我的朋友

分类: Mysql/postgreSQL

2014-11-24 15:24:13

用户定义变量

使用DEFINE定义了的变量(或许我们可以叫其定义常量,和C/C++中的DEFINE非常类似),可以使用&引用声明的变量。其作用范围或生命周期通常是整个会话。如果定义了变量后,需要清除变量,则可以使用UNDEFINE清除变量,使用DEFINE VARIABLE来查看变量


SQL> DEFINE NUM=2; --定义变量


SQL> DEFINE NUM --查看变量


DEFINE NUM = "2" (CHAR)
SQL> SELECT 2+&NUM FROM DUAL; --引用变量


old 1: SELECT 2+&NUM FROM DUAL
new 1: SELECT 2+2 FROM DUAL
 2+2
----------
 4
SQL> UNDEFINE NUM; --清除变量


SQL> SELECT 2+&NUM FROM DUAL; --清除变量后,&NUM变成替换变量了。需要输入值


Enter value for num:
小知识点:查看当前会话下,SQL*Plus下定义的变量


SQL> define
DEFINE _DATE = "11-SEP-14" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "epps" (CHAR)
DEFINE _USER = "SYS" (CHAR)
DEFINE _PRIVILEGE = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1002000400" (CHAR)
DEFINE _EDITOR = "ed" (CHAR)
DEFINE _O_VERSION = "Oracle Database 10g Release 10.2.0.4.0 - Production" (CHAR)
DEFINE _O_RELEASE = "1002000400" (CHAR)
VARIABLE变量和DEFINE变量不同的是其需要指定变量类型,类似编程语言中的强类型和弱类型变量。前者用于绑定变量,后者是用于&或&&进行变量替换


SQL> VAR NUM NUMBER;
SQL> EXEC :NUM :=10;
PL/SQL procedure successfully completed.
SQL> PRINT NUM;
 NUM
----------
 10
DECLARE定义变量则一般用于PL/SQL中。一般大家也用得比较多。在此不做说明。

原载于:
参考资料:

阅读(1049) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~