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

全部博文(31)

文章存档

2014年(31)

我的朋友

分类: Mysql/postgreSQL

2014-11-24 15:14:48

替换变量

SQL*Plus中的替换变量又叫替代变量,它一般用来临时存储相关数据;在SQL语句之间传递值。一般使用&或&&前缀来指定替换变量. 关于使用替换变量,一般是利用其创建通用的脚本或达到和用户交换目的。如下所示:

例如,我需要查看表的相关信息,如果不使用替换变量,每次查询我都要修改脚本。非常不便,如果使用替换变量,我们可以将下面脚本存放在tab.sql脚本中,每次运行时,只需要输入替换变量的值就可以了。


COL LOGGING FOR A7;
 COL OWNER FOR A12;
 COL TABLE_NAME FOR A30
 COL TABLESPACE_NAME FOR A30
 SELECT OWNER, TABLE_NAME, TABLESPACE_NAME, STATUS, COMPRESSION, LOGGING, PARTITIONED,
 NUM_ROWS, TO_CHAR(LAST_ANALYZED,'YY-MM-DD HH24:MI:SS') LAST_ANALYZED
 FROM DBA_TABLES
 WHERE TABLE_NAME LIKE '&table_name_like%'
 ORDER BY TABLE_NAME;
epps> @tab.sql
Enter value for table_name_like: EMP
old 4: WHERE TABLE_NAME LIKE '&table_name_like%'
new 4: WHERE TABLE_NAME LIKE 'EMP%'
OWNER TABLE_NAME TABLESPACE_NAME STATUS COMPRESS LOGGING PAR NUM_ROWS LAST_ANALYZED
------------ ------------------------------ ------------------------------ -------- -------- ------- --- ---------- -----------------
SCOTT EMP USERS VALID DISABLED YES NO 14 09-07-20 22:00:12
WIPOWNER EMPLOYEE_MASTER WIPOWNER_DATA VALID DISABLED YES NO 12084 14-09-07 14:08:22
epps> @tab.sql
Enter value for table_name_like: DEPT
old 4: WHERE TABLE_NAME LIKE '&table_name_like%'
new 4: WHERE TABLE_NAME LIKE 'DEPT%'
OWNER TABLE_NAME TABLESPACE_NAME STATUS COMPRESS LOGGING PAR NUM_ROWS LAST_ANALYZED
------------ ------------------------------ ------------------------------ -------- -------- ------- --- ---------- -----------------
SCOTT DEPT USERS VALID DISABLED YES NO 4 09-07-20 22:00:12
epps>

原文:
其他参考链接如下:
-The End-

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