[20140823]12c null與預設值.txt
[20140823]12c null與預設值.txt
--12c 當插入NULL時可以指定預設值.不知道為什麼設定這個特性,有點怪怪的.
SCOTT@test01p> @ver
BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production 0
create table t (id number,idx number default on null 100);
insert into t(id) values (1);
insert into t(id,idx) values (2,200);
insert into t(id,idx) values (3,NULL);
commit;
SCOTT@test01p> select * from t;
ID IDX
---------- ----------
1 100
2 200
3 100
--可以發現如果插入idx=NULL,實際上插入是預設值100.真不知道那個大客戶提出這種需求....
select obj#,col#,segcol#,name,default$,type# from sys.col$ where
obj# in ( select object_id from dba_objects where owner=user and object_name='T')
order by col#;
OBJ# COL# SEGCOL# NAME DEFAULT$ TYPE#
----- ----- ---------- ----- ---------- ----------
96076 1 1 ID NULL 2
96076 2 2 IDX 100 2
SCOTT@test01p> select dbms_metadata.get_ddl('TABLE', 'T') from dual;
DBMS_METADATA.GET_DDL('TABLE','T')
-------------------------------------------------------------------------
CREATE TABLE "SCOTT"."T"
( "ID" NUMBER,
"IDX" NUMBER DEFAULT 100 NOT NULL ENABLE
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS"
SCOTT@test01p> select constraint_name, constraint_type, deferrable, search_condition from user_constraints where table_name='T';
CONSTRAINT_NAME C DEFERRABLE SEARCH_CONDITION
-------------------- - -------------- ------------------------------
SYS_C0010756 C NOT DEFERRABLE "IDX" IS NOT NULL
--當DEFAULT NOT NULL 使用時 NOT NULL和NOT DEFERRABLE約束是隱含建立的.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-1257034/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20210421]12c以上版本增加欄位與預設值.txt
- [20140823]12c join convert連線轉換.txt
- Mybatis出現成員賦值都是null或者預設值MyBatis賦值Null
- NULL 值與索引Null索引
- NULL 值與索引(二)Null索引
- [20160713]修改表結構增加1列與預設值.txt
- [20131013]rman 在12c的預設設定.txt
- [20200326]繫結變數抓取與NULL值.txt變數Null
- mysql中null與“空值”的坑MySqlNull
- MySQL裡null與空值的辨析MySqlNull
- [20150727]''與NULL.txtNull
- 【NULL】Oracle null值介紹NullOracle
- ${VAR:=預設值}和${VAR:-預設值} 區別
- 索引裡的NULL值與排序小記索引Null排序
- [20170516]nvl與非NULL約束.txtNull
- [20121028]not in與NULL問題.txtNull
- [20140823]在sqlplus使用copy注意.txtSQL
- 不再迷惑,無值和 NULL 值Null
- [20231024]NULL值在索引的情況.txtNull索引
- not null與check is not nullNull
- [20131212]12c新特性建表 屬性DEFAULT ON NULL.txtNull
- MySQL null值儲存,null效能影響MySqlNull
- TreeSet的null值與元素型別的約束Null型別
- [20170516]nvl與非NULL約束2.txtNull
- [20160704]NULL與主外來鍵問題.txtNull
- hive中的null值HiveNull
- null(空值)小結Null
- hive NULL值影響HiveNull
- case when遇上null值Null
- Go:變數宣告的多種方法與預設值Go變數
- Laravel 生成 url,預設值Laravel
- HTML 元素的預設值HTML
- HTTP請求預設值HTTP
- 【譯】GOPATH 的預設值Go
- 原始碼分析springboot自定義jackson序列化,預設null值個性化處理返回值原始碼Spring BootNull
- sql設定欄位預設值SQL
- django 設定預設值到SQLDjangoSQL
- 關於mysql設定varchar 欄位的預設值''和null的區別,以及varchar和char的區別MySqlNull