自己整理的學習資料——DB2 V8資料庫基礎(十二)
2.5 通用物件
值由DB2生成,客戶不能直接賦值
值可由DB2生成,也可以准許客戶直接賦值,不過DB2不能保證提供的值唯一。
C. identity_val_local() 獲取當前值
如insert into t1 (id,…) values (default,…)
Select identity_val_local() from sysibm.sysdummy1
insert into parent_table (pk_id,…) values (default,…)
insert into children_table (…,fk_id,…) values (,identity_val_local(),…)
Example:
Create table t1
(id int generated always as identity (start with 100 increment by 1),description char(10));
Commit;
Insert into t1 values (default,’a1’); //insert 100 a1
Insert into t1(description) values (’a1’); //insert 101 a1
Insert into t1 values (200,’a1’); //erro
Commit;
Insert into t1(description) values (’a1’); //insert 102 a1
Rollback;
Insert into t1(description) values (’a1’); //insert 103 a1
Commit;
Select * from t1
100 a1
101 a1
103 a1
(id int generated by default as identity (start with 100 increment by 1),description char(10)) in userspace1
Commit;
Insert into t1 values (default,’a1’); //insert 100 a1
Insert into t1(description) values (’a1’); //insert 101 a1
Insert into t1 values (200,’a1’); // insert 200 a1
Insert into t1 values (102,’a1’); // insert 102 a1
Commit;
Insert into t1(description) values (’a1’); //erro ,因此自增的當前值為102,資料庫中已
經存在102的主鍵值了
Insert into t1(description) values (’a1’); //insert 103 a1
Commit;
Select * from t1
100 a1
101 a1
102 a1
103 a1
200 a1
2. Sequence
A.建立方式
Create sequence myseq
Start with 1
Increment by 1
No cycle
B.syntax(語法)
Nextval for
Prevval for
Example:
Insert into t1 (nextval for myseq ,…)
Select prevval for myseq from sysibm.sysdummy1
C.更改序列
ALTER SEQUENCE 序列名
可以修改的引數
START WITH的START_NUMBER
INCREMENT的VALUE1
NO MAXVALUE的數值
NO CYCLE屬性
MAXIMUM NUMBER OF SEQUENCE VALUES最大數值
D.刪除序列
DROP SEQUENCE 序列名
3. Index
語法:Create index index_name on 表名(col_name)
Example:
Create unique index index1 on t1(description) desc //建立唯一索引
Create index index1 on t1(description)allow reverse scans //准許反向檢索
Create index index1 on t1(description)cluster allow reverse scans //簇索引
Create unique index index1 on t1(description)include (id)
//包含的列代表把值放到索引裡面,這樣通過索引查到要找的列時,直接可以找到列的值,不用再通過索引定位到資料頁查詢列值了,只有唯一索引才能有包含列
4. Foreign key
create table t1(id int not null primary key,description char(10)) in userspace1
create table t2(id int not null primary key,description char(10)) in userspace1
alter table t2 add constraint fk1 foreign key (id) referenceS t1(id) t1的id可以省略
約束的增加方式是按通用的方式:
ALTER TABLE 表名 add constraint 約束名 約束型別 列名,如: //增加約束
ALTER TABLE 表名 drop constraint約束名
比如alter table t1 add constraint pk1 primary key (id)
5. Check約束(和通用方式沒有差別,具體見資料庫開發人員版)
ALTER TABLE authors
ADD constraint authors_chk_phone check
(authors in (‘a’,’b’,’c’))
2.26 觸發器
TRIGGER不能修改,只能刪除重建
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9524210/viewspace-462715/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自己整理的學習資料——DB2 V8資料庫基礎(二十二)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(六)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(七)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(八)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(十一)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(十三)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(十六)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(十七)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(十八)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(十九)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(二十)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(一)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(四)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(五)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(二十一)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(二十四)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(二十六)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(二十七)DB2資料庫
- 自己整理的學習資料——DB2 V8資料庫基礎(二十八)DB2資料庫
- mysql資料庫學習基礎知識整理MySql資料庫
- 資料庫基礎知識整理與複習總結資料庫
- 【java基礎資料整理】Java
- FastAPI 學習之路(三十二)建立資料庫ASTAPI資料庫
- 零基礎學習MySQL資料庫—3MySql資料庫
- 學習資料庫的基礎知識的書籍資料庫
- 突擊學習之資料庫基礎彙總資料庫
- 資料庫學習筆記 - MySQL基礎知識資料庫筆記MySql
- MySQL資料庫基礎學習筆記(整理自蘇勇老師的MySQL基礎課程視訊)MySql資料庫筆記
- Go 學習資料整理Go
- iOS 學習資料整理iOS
- swift學習資料整理Swift
- 資料庫 基礎資料庫
- 資料庫基礎資料庫
- 資料庫資料整理資料庫
- 語料庫基礎學習
- 整理最全的“大資料”學習資源大資料
- 大資料學習方法,學大資料需要的基礎和路線大資料
- SLAM(一)----學習資料整理SLAM