Must know something of everything and everything of something!
Informix SQL语句详解(2)
上一篇 /
下一篇 2007-08-22 19:19:05
/ 个人分类:DataBase
Informix SQL语句详解(2)51Testing软件测试网4A
M$G S6b7OuGRANT {DBA|RESOURCE|CONNECT} TO {PUBLIC|user-list} U0p~ppNK0授权命令。51Testing软件测试网6dppr!Eh
:?*nuwg ^fo:E0PUBLIC|user-list:全部或指定的用户。51Testing软件测试网jt|(eCWL EJ
j{$[Niwu@(J0三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。51Testing软件测试网2gb KcW"ZK 51Testing软件测试网:H7b[0Ut 例:grant resource to pulbic;51Testing软件测试网au+H sa,S\\
v 51Testing软件测试网0^Gg
LR$E;M0F+Y GRANT tab-privilege ON table-name TO {PUBLIC|user-list} [WITH GRANT OPTION] SL4S+q
|N051Testing软件测试网JJWu5y{&\z 授表级权限。 9hu/^#^1g}3U4d0 [U@V`4H0tab-privilege:表级权限。51Testing软件测试网
~i"NZ\[M i
9fQ:P
HdI.m\|e0table-name:表名称。 +Rdn)p.L051Testing软件测试网S]R8V#V c6K9U PUBLIC|user-list:全部或指定的用户。 M y
Ew}@-x%\? r051Testing软件测试网J7?#On:N [WITH GRANT OPTION]:表示被授权用户有否权限进行二次授权。51Testing软件测试网+R\o@"u)I
D6mb NL} V_0用户可以在自己建立表达式或被[WITH GRANT OPTION]准许的表中进行赋权;限定越多的权限优先级越高。 y#f'fzU)g$]*H3B5D~6Au0 Xu#c4]o:K%PV0{0例:grant update(c1,c6) on user to dick with grant option; vr8nXSy9j\0 |H$J
~xH%H"J"O c051Testing软件测试网!e*apvH\"F{ 51Testing软件测试网#N.V(fjR)X 附(INFORMIX的权限) 9d&C$eoRE051Testing软件测试网
H2a |zgDv
PS\ (1) 数据库的权限(控制对数据库的访问以及数据库中表的创建和删除) .}V} Nj0 u)g0LG%DC0DBA权限:全部权利,修改系统表,建立和删除表与索引、增加和恢复表数据,以及授予其他用户数据库权限等;51Testing软件测试网-W!^p7J1w8h2`h
3{,a!df:^:]le4l0RESOURCE权限:允许对数据库表中的数据进行存取,建立永久性表以及索引。51Testing软件测试网/Ie-X\H_
e#ShO8Y
s8X ?0CONNECT权限:只允许对数据库表中的数据进行存取,建立和删除视图与临时表。 ;iN2L%y/x,bQ051Testing软件测试网@#NWHSu \ (2)表级权限(对表的建立、修改、检索和更新等权限)51Testing软件测试网x-W6_ut5sY;n 51Testing软件测试网 Z w~+s(^%D1{2F ALTER:更改权限51Testing软件测试网N7x
C{7s`jh:} 51Testing软件测试网{Xt7b/i DELETE:删除权限 ,@p*u3d]x r
{0I'Z0 &]P(_3j7fa(m0INDEX:索引权限51Testing软件测试网9IOIR2nN)R!Wl"L 51Testing软件测试网P}}X|'lli INSERT:插入权限 QB!g(^'pRU;xvL7Mt0 D6z]-J%{H(}0SELECT [(cols)]:指定字段或所有字段上的查询权限,不指明字段缺省为所有字段。 ED0TXmv*G5W0 d6C.b H9qk9Qn0UPDATE [(cols)] :指定字段或所有字段上的更新权限,不指明字段缺省为所有字段。 :| xX'J9}#_K(g[*a"h0 0X.h2^Si] Iiy0ALL [PRIVILEGES]:以上所有表级权限 I5kU#um4?T051Testing软件测试网0u2s-pSZeT 51Testing软件测试网!r*zL8Ur$@3FD 51Testing软件测试网{&UH
s{D1i2}Ol 19. REVOKE {DBA|RESOURCE|CONNECT} FROM {PUBLIC|user-list} vr%_*A$u0 -Ej*G!HD$m9Fo2^&_0收权命令。 8l2r)JD@-e{ M051Testing软件测试网_,]f1LmN PUBLIC|user-list:全部或指定的用户。 b2jVC,j1y0
q%lV'Y | l&p!G e0三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。 ?A;l.YQ?7_
d5k0 (u8V`!U^0例:revoke resource from john; \ D#C!p1~-fTq0 x\
?K|GD.hh0REVOKE tab-privilege ON table-name FROM {PUBLIC|user-list} %D7y N&r:^d051Testing软件测试网Ge W~Yd j 收表级权限。 'av,VY'ij:g+X051Testing软件测试网2hH;V1b3b3X[h%i,aT tab-privilege:表级权限。 S6Y-\_2j|)R051Testing软件测试网]h@,Q+Qa.o
V,XD table-name:表名称。 %}MH)r,zP'@)kq#^0 3b#l4XYg*h6^5Ci6Y0PUBLIC|user-list:全部或指定的用户。51Testing软件测试网7Gi nL9lN'^] d 51Testing软件测试网.{,Fl
}H5ZFX%Qpo)m [WITH GRANT OPTION]:表示被授权用户有否权限进行二次授权。 ;~B LTt N[0 Ol1`cnj0用户只能取消由其本人赋予其他用户的表级存取权限;不能取消自己的权限,对SELECT和UPDATE作取消时,将取消 4UkE{0k0所有表中字段的SELECT 和UPDATE权限。 N'~@
`LK051Testing软件测试网+[(Z
|-w6y3uP,p3m 例;revoke update on user from dick;51Testing软件测试网X w!Sh{h1l6F 51Testing软件测试网
bBV'?/_p~8@4R
fI2FQ/u1y051Testing软件测试网6R(Vu
];d_e4A LOCK TABLE table-name IN {SHARE|EXCLUSIVE} MODE51Testing软件测试网7HG+sJ^l!T 记录级加锁和表级加锁或文件加锁。51Testing软件测试网
t&J0du#~3~k]V 51Testing软件测试网czpmr1Yhi
m table-name:表名称。 -{_J$d hG([051Testing软件测试网J@4H\F3j SHARE:允许读表中数据,但不允许作任何修改51Testing软件测试网4V}i;p!A
!GX'^ i'q/bl {(HM0EXCLUSIVE:禁止其他任何形式访问表51Testing软件测试网6h/R9hV%oP 51Testing软件测试网 C9V+` D^
]XF 每次只能对表琐定一次;事务处理过程中,BEGIN WORK后立即执行LOCK TABLE以取代记录级加锁,COMMIT WORK和51Testing软件测试网Wc,We$q ROLLBACK WORK语句取消所有对表的加锁;若没有事务处理,锁将保持到用户退出或执行UNLOCK为止。51Testing软件测试网6e8tJ3S_;h7r 51Testing软件测试网|V6i'js9c{"w 例:lock table user in exclusive mode;51Testing软件测试网2pY+kH"{0j%T2y
jV3~'XL:b1a0 R,W`3S!]A?m8s051Testing软件测试网YJ7[JT
C UNLOCK TABLE table-name51Testing软件测试网2t&W1G)` skk'Z,C 取消记录级加锁和表级加锁或文件加锁。51Testing软件测试网n.I)Nfg/xy
:dxIZ)`/F0table-name:表名称。 n8s"^C.g
i q5b051Testing软件测试网ljKP`Yb q 例:unlock user;51Testing软件测试网0zK"\%f%q
3h6T
e$Ti9HZZ051Testing软件测试网X
E"~4Z!mR 51Testing软件测试网YfXM k#yd+xq SET LOCK MODE TO [NOT] WAIT *}4MU_X9J`;b0改变锁定状态。 #GxNe'XjR0 /s/b$y9t@Y(P0TO [NOT]:等待解锁,有可能被死锁或不等待并提示错误信息,表示此记录被锁,缺省值。51Testing软件测试网mo7p,Ek)Hf$y%h
Ncg9[9a3S7C$\0访问一个EXCLUSIVE状态下的记录,将返回一个错误。51Testing软件测试网vf
[#M!f*^N
0^p%HqM!D0 ~GuJzvwz3C,y0 4N4[T)S|;n~1L#D0START DATABSE db_name [WITH LOG IN “pathname”] :q(ahA};`0启动事务处理。 ,P8@'o
N,J5PT051Testing软件测试网iftD6x b.Y-l4b$U “pathname”:事务处理日志文件。 wzT*qh7Qy,WR4Q0 ;m5bYZJ;|L/`e'vH0执行该语句前,需要先关闭当前数据库。51Testing软件测试网t
DYCjt@
f
~s/J#wE%\0例;clost database; z$o{:}$x2n!bsE~Nl051Testing软件测试网bO(qw)bs6rs4q start databse customer with log in “/usr/john/log/customer.log”;51Testing软件测试网%I9k;gnw"tH8m 51Testing软件测试网g*H?M8Fah
tX?Ug0 er2Y&?]7A0BEGIN WORK !m:c Wu$g*l3SH0开始事务。例:begin work; X7t`` @Eb051Testing软件测试网~Q|*|8S2S
|R 51Testing软件测试网n)B$O7@k
lZ:g(Pa0COMMIT WORK51Testing软件测试网ZK[w igv 提交(正常结束)事务。例:commit work;51Testing软件测试网H\_l
f'C 51Testing软件测试网$q
y8[nYU5Ez*G9fz 51Testing软件测试网 _sX:VH4O|u 51Testing软件测试网8^;^{a;e"U f,W+|+@n9U ROLLBACK WORK51Testing软件测试网ui[
Xx3A2o F 回滚(非正常结束)事务。例:rollback work;51Testing软件测试网PD]wEM
"a$Z|g%`P(S9ldL B h0 5A!jhM/mE0 @7c*{{D_0SELECT
|