</p>2:怎么去取序列数据:
$ J' @9 x1 s6 p O1 M, l) ` currval--->curenvalue; N9 G: u* \9 B# Y2 ^& N
nextVal-->NextVlaue
# e) f- ?( y1 s+ O0 ? _ example:4 q9 m( ?8 |! H- }1 P$ I& q
select mySeq.nextVal from dual6 @) ]7 \: K z& f: U2 l
注重一点:currval只有当nextVal执行一次往后才可以用.+ j6 w0 V( R# O; X8 @# o9 `
在建树表的时辰,可以使用序列.
( k) i) A: D6 b+ ]5 A2 p2 C 具鼻子:
; F* F# U0 D6 I8 v! X* ^0 P create table 公司根基信息表
7 a8 a: X& G/ g7 m( N# x. `* h (' q e" Q# W$ _
ComPID int,
% \" Y6 i& v' ] CompName varchar2(20), R7 N. l0 S2 Q4 u# a9 {
)
+ h3 c: \+ h& W7 |! B2 ~% t& I; R6 n7 o insert into 公司根基信息表 values(mySeq.nextVal,'AA')$ F: L* Z7 n8 L" l4 {% h' ?2 x# G% x
3:若何改削序列 ' ]% R% g( u" ~( T6 T5 L) n
改削前提是sequence 的owner,或者有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数.如不美观想要改变start值,必需 drop sequence 再 re-create .& @) n8 l" [3 f+ g( Y
Alter sequence 的例子:
4 o3 B( g% Z3 `( E E ALTER SEQUENCE emp_sequence
- h) V' l% V8 I2 R( {& r INCREMENT BY 10: ^4 t9 R5 i% f0 u L9 w+ _8 G
MAXvalue 10000
0 P( p U+ V1 t! z CYCLE -- 到10000后年夜头起头
9 C& @6 s' O2 |( c7 f# e E NOCACHE% ?& z( k9 G* f; [1 x
影响Sequence的初始化参数:
. H; T1 ` M8 @! W2 `* [' g7 K SEQUENCE_CACHE_ENTRIES =设置能同时被cache的sequence数目。/ m5 K- t5 I, s
也可以这样
. C/ Y. @' `( J9 O alter sequence mySeq maxvalue 500- z; h3 u* d/ W* q" [) _: z1 r
注重:不能改start with,其他随便改(设置minvalue值的时辰不能年夜于当前值)
, K0 r7 x/ b( a% N3 q; q+ s4:若何查看删除某个表空间所有序列
& y! {; v. ^; f# Y# n7 g 查看:
+ j' N/ f T: J( q6 ~3 W) ^ select * from user_sequences! `0 V; W& E7 p3 Y5 f
若何删除:9 d& U6 Y o$ w2 T- n) l
drop sequence 序列名称
: ?! u5 L) O& H5 n& @; ^: _5:sequence属于什么对象 ( Z8 I! A, y/ f8 w. P m, [
sequence不属于某个表,也不属于某个字段,sequence仅仅属于某个用户。
' q) j g* X) }0 n L 其其实建树了sequence后,每个表都可以使用这个sequence,可是这样会引起应用的良多麻烦,是以,建议每个表都使用一个sequence。 |