a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 350|回复: 0

[考试辅导] Oracle同义词与序列基本使用

[复制链接]
发表于 2012-8-4 14:06:19 | 显示全部楼层 |阅读模式
同义词:同义词是一个对象的替代名称
4 v1 T1 t& c6 U, x9 Y  作用:利用同义词可以很方便地操纵不同用户模式下的对象。- {6 {. @% l4 J5 f
  通过select user from dual查看当前使用的用户。
/ N# W, ?- K  ~8 @* k$ O) I$ F  访问其它用户模式下的表:. `1 Y6 v, ~- n6 s. t! l
  select * from scott.dept; 表示查看scott用户模式下的dept表数据。
& z7 ]) ], S9 e9 S5 E  同义词分为private 和 public,private仅创建的用户可以使用。public则所有用户都可以使用。0 s9 B' N/ C1 b/ x) R
  语法:
* c" L9 {; y& `* y* b  CREATE SYNONYN DEPT FOR SCOTT.DEPT;& \- r! K% m3 C6 W% u& ]- X  `
  表示将scoot用户下的dept表,创建为当前用户的同义词。默认为private
" s# Y  c* k$ e5 s! _) }9 A6 t9 \  通过drop synonym dept删除。
. U$ X$ O+ Q0 g# S5 B  create public synonym dept for scott.dept;' o% H9 M6 M, r1 h+ d/ r7 ~
  表示创建一个公共的,在其它用户模式下也同样的进行查询。6 b$ _$ ~9 v+ u2 `
  序列
) {' w* Y8 L. O1 C& I  {  作用:独立的事务,按一定的增量自动增加或减少,一组整型值。
& K) B" h% a' \6 N5 Y0 W  语法:
: {9 x5 X4 K; S% M  create sequence myseq
( L% O6 h# ^. D7 X& v  start with 1 --从1开始
1 Q8 A: f3 T' I  increment by 1 --每次增加1
2 Z* w, N! C5 l/ N9 A9 S  order --从小到大排序. J2 j9 {9 b7 o* A
  nocycle;--为了避免取到重复值,不进行序列循环,此项为影响性能,使数据库被迫访问磁盘。% V2 h$ s  P/ f, O) E
  使用方法:3 @! @6 x! C5 x& l
  select myseq.nextval from dual;
+ ]) ?  P5 I- {, i4 a0 `" Z: `3 H: L  通过nextval取得下一个值。
. r! w3 E  w+ t6 U6 X+ |  通过select myseq.currval from dual; 查看当前序列的值。. k4 r, J; c& L7 h' \
  如果数据库重启,不能马上通过currval来查看序列的当前值,
  x  v2 n+ ^. K( w2 M+ t  要通过nextval取完值后,再通过currval查看当前序列的值。
. R8 z! {* ?' R% d5 \% R  desc dba_sequences 查看dba下sequence的情况。同样包括all_sequences,user_sequences.( K3 K! ~4 X1 t2 E. l- l
  修改序列递增是:0 T3 ?1 Z9 Y/ [  [+ w
  ALTER SEQUENCE MYSEQ8 K1 @4 i! }: V' S5 [% t7 t, a: Z
  INCREMENT BY 3;6 Z7 c. k; P5 E; D) C
  通过修改的方式修改序列的递增量。但不能修改序列的当前值。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 18:20 , Processed in 0.211053 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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