a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 118|回复: 0

[考试辅导] Oracle性能调优:实践常用SQL

[复制链接]
发表于 2012-8-4 14:06:19 | 显示全部楼层 |阅读模式
oracle实践常用SQL. I' o; h1 L% u, Z' J  H
    $ o# v7 w; H( ~* D4 Q) F
    TableA columnA columnB
1 P; }  Y2 Q5 z& d   
, R3 K$ D0 @5 a    A 1&2 sss* m$ t  b, m( A. c$ ?. q" _" h+ K
   
  U1 o  b; Y. E) g& c! m    select * from A where columnA like '%1&2%';--------------------提示输入变量。! \& O% f0 h: v* E7 U* H7 D
    6 T! j' |3 Q7 G1 T
    如果想要根据clomnA值,查询sss,怎么办?$ e" q/ c- a' Z8 I
    * V9 v( D# W: q- ~. Y! V& R
    分析:由于&是oracle中的变量字符(特殊字符)。因此需要将&设置为非特殊字符才能正常查询。
8 V' h0 \4 V( `) c  W   
$ K, R; x) s4 X7 O- f5 j& K1 X    解决:set define off
' y3 p% @* x7 A, W. [4 V' v7 E7 a    6 o1 Q+ p9 }* v$ a; |8 N; y) M
    select * from A where columnA like '1&2';' b# \4 |: l( L( X, q# b
    7 Y1 ?0 l$ v% O& v/ p& F& N( h
    set define off解释:5 k4 c/ V: F6 i  h- C" Q% q
   
/ s( L: [: X( O7 a# F    set define off关闭替代变量功能 在SQL*Plus中默认的"&"表示替代变量,也就是说,只要在命令中出现该符号,SQL*Plus就会要你输入替代值。这就意味着你无法将一个含有该符号的字符串输入数据库或赋给变量,如字符串"SQL&Plus"系统会理解为以"SQL"打头的字符串,它会提示你输入替代变量 Plus的值,如果你输入ABC,则最终字符串转化为"SQLABC". set define off 则关闭该功能,"&"将作为普通字符,如上例,最终字符就为"SQL&Plus" set define off关闭替代变量功能 set define on 开启替代变量功能 set define * 将默认替代变量标志符该为"*"(也可以设为其它字符)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 08:11 , Processed in 0.205989 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表