天地不仁,以万物为刍狗!

[原创]这个挺有意思的--数据库也玩眼见不一定为实啊!!

上一篇 / 下一篇  2008-08-13 16:58:13 / 个人分类:db2

这个挺有意思的!呵呵ITPUB个人空间'o at |w^ \+e

S|4wt!M3yD0
C:>db2 connect to dw164 user ccpITPUB个人空间 H F3Di/?(K"\&Y_
输入 ccp 的当前密码:ITPUB个人空间d5lw7{b&Hzbn

Y aN&S4s;u1N D0   数据库连接信息
1e S*m r Zu3P0
9o@ {;T:~!Q;Co0数据库服务器         = DB2/NT 8.2.0ITPUB个人空间0U"l;g;KsH~xx
SQL 授权标识         = CCP
cv,L {F0本地数据库别名       = DW164ITPUB个人空间*L4N'yap,{oQ
ITPUB个人空间m+I _mCHI!@
ITPUB个人空间 e_0h B SH7H
C:> db2 CREATE TABLE db2admin.ztest   ITPUB个人空间0Sj(EB @'a-e
db2 (cont.) =>   (  ITPUB个人空间2\kA5l S3mte{
db2 (cont.) =>   id1 INT NOT NULL,   ITPUB个人空间FNO)J8g,u u8f|%|
db2 (cont.) =>   id2 CHAR(1) NOT NULL  ITPUB个人空间v.g8j8Tc
db2 (cont.) =>       CONSTRAINT c_ztest_id2  
-q8T;bUt%h:uS(S A0db2 (cont.) =>       CHECK (id2 IN ('1','2'))  ITPUB个人空间'W!qG5{V1ptV
db2 (cont.) =>       NOT ENFORCED  ENABLE QUERY OPTIMIZATION,  
0aL#g6\ F[:u0db2 (cont.) =>   id3 INT NOT NULL,  
lnE6G#L0db2 (cont.) =>       CONSTRAINT c_ztest_id3  ITPUB个人空间-|PW5Nz-C;{*R
db2 (cont.) =>       CHECK (id3 BETWEEN 10 AND 50)  ITPUB个人空间eKg/X)I)H;D
db2 (cont.) =>       NOT ENFORCED  ENABLE QUERY OPTIMIZATION
yMN fw%a0db2 (cont.) =>   )
UnU5qZV _J0DB21034E  该命令被当作 SQL
#PU$e0lzg h0语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:
%[Te&D4[8w&_+b0SQL0601N  要创建的对象名与类型为"TABLE" 的现有名称 "DB2ADMIN.ZTEST" 相同。
u F(z/re0SQLSTATE=42710ITPUB个人空间fY2eJr!Z L

qr:Kef\W8p0C:>  db2 insert into db2admin.ztest values(1,'1',60),(2,'2',20),(3,'1',3),(4,'2
:?;S'M,O sS0',34),(5,'z',77),(6,'x',140),(7,'1',3),(8,'2',24)
4I&{"H_3D.s@g6B0DB20000I  SQL命令成功完成。ITPUB个人空间$?V-R/J%R(MS3J9};H Q

p,M8@zq?6H9e0C:>  db2 select * from db2admin.ztest
0z-Uak5c%]N0
d.h Be\9VM{0ID1         ID2 ID3ITPUB个人空间6c | v?)]6D
----------- --- -----------ITPUB个人空间&X*b:N2v qq` bX&M
          6 x           140
+MFF-a9@+m&SU0          6 x           140
ITPUB个人空间!Gz9D.\#l7u*}W
          5 z            77ITPUB个人空间8R6_&Nk`5K0\
          7 1             3ITPUB个人空间6}%f'kjG*Xp
          5 z            77ITPUB个人空间E{K/nH^2\4j
          7 1             3ITPUB个人空间,eI4T1p,S[Z7R
          1 1            60ITPUB个人空间1I8xM aE0U&UN(cX)N
          2 2            20
4Lo\ ^5j"I.L0          3 1             3
1wtY,D Q/z6k5sT} }[$a0          4 2            34ITPUB个人空间gF%O.GzcwO
          8 2            24ITPUB个人空间 M/g x%kyF,sgn x
          1 1            60
rZXX2V0N(}0          2 2            20ITPUB个人空间9p2e5\ a%_W
          3 1             3
moqB:|7\wW^0          4 2            34
3Ri$M6Zh0          8 2            24ITPUB个人空间.?2tM!?}{ pj$K
ITPUB个人空间8S"i D \w&}!U
  16 条记录已选择。ITPUB个人空间5M3k7cx?!DqF
ITPUB个人空间-|b!@?(s|

#JQ0on/@3K*A7b0C:>  db2 select * from db2admin.ztest where id2 ='x'
1Y+O$@];I `O0ITPUB个人空间b"B$jO5X0zS6W
ID1         ID2 ID3ITPUB个人空间!z.X7y.[5u;S8b$TYZ
----------- --- -----------
p8| Ioo/l0ITPUB个人空间-L1m/x\:@
  0 条记录已选择。
*xp]A0X)CGp0ITPUB个人空间_ Q1P*JO DP

Cx%e8~\/n)YjK4F j0C:>  db2 alter table db2admin.ztest alter check c_ztest_id2 disable query optim
u+m$K&S]h[ m0ization

| D7h P\%dG~0E0DB20000I  SQL命令成功完成。ITPUB个人空间NE7F b0BaQ
ITPUB个人空间qu0Q4S8Tpl ti.G}
C:>  db2 select * from db2admin.ztest where id2 ='x'
%V/f&H7Sy4J0ITPUB个人空间|b;R-i/~5r {Tl
ID1         ID2 ID3
$V[ xD!dt0----------- --- -----------ITPUB个人空间m3H6D+[-[@
          6 x           140ITPUB个人空间5g2CJ S-MUUs-\)y
          6 x           140

7@;pH/CYb,}0ITPUB个人空间HLd"C?'ZZ
  2 条记录已选择。
[ \|h-~0ITPUB个人空间)N}WX6H*k

:qa)C ]9MA#H[0C:>db2 terminateITPUB个人空间:W-AF/Zr&F
DB20000I  TERMINATE命令成功完成。
-{\Ysx'H|0
HCqbZK9t0C:>
QB*VQ"nu:` M0
 
结论:ITPUB个人空间&`'ryk u
NOT ENFORCED,它建议 DB2 在插入或更新数据时不强制检查本列!也就是说插入数据的时候没有强行限制!
ITPUB个人空间oU%s X"a4gWe
ENABLE QUERY OPTIMIZATION,DB2 在对该表运行 SELECT 语句时使用它!ITPUB个人空间!pkV_#R6VS
也就是说在select的时候数据库会根据check的值来进行sql的OPTIMIZATION,因为check中没有'x',所以直接返回0条记录!
 
这个不错!
 
看来有时候眼见还真不一定为实啊!!!

TAG:

引用 删除 Guest   /   2009-02-09 15:16:02
5
引用 删除 Guest   /   2008-08-15 11:37:39
-5
引用 删除 clxgtxy007   /   2008-08-15 11:13:56
-5
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar