轉貼楊大師yangtingkun_如何為table快速新增一個預設值的新列
附上楊大師的文章連結快速增加表新加列的預設值的方法
下為自己測試示例:
2012年3月30日 星期五 11時53分
SQL> conn scott/system
已連線。
SQL> create table t_add_newcol(a int,b int);
表已建立。
SQL> insert into t_add_newcol values(1,1);
已建立 1 行。
SQL> insert into t_add_newcol values(2,2);
已建立 1 行。
SQL> commit;
提交完成。
SQL> select * from t_add_newcol;
A B
---------- ----------
1 1
2 2
SQL> alter table t_add_newcol add new_c int;
表已更改。
SQL> select * from t_add_newcol;
A B NEW_C
---------- ---------- ----------
1 1
2 2
SQL> alter table t_add_newcol modify new_c int default 8;
表已更改。
//表明執行新增預設值的新列後,原有記錄不會發生變化,新添列還是空null
SQL> select * from t_add_newcol;
A B NEW_C
---------- ---------- ----------
1 1
2 2
SQL> insert into t_add_newcol values(3,3,default)
2 ;
已建立 1 行。
SQL> commit;
提交完成。
SQL> select * from t_add_newcol;
A B NEW_C
---------- ---------- ----------
1 1
2 2
3 3 8
SQL> insert into t_add_newcol(a,b) values(4,4);
已建立 1 行。
SQL> commit;
提交完成。
SQL> select * from t_add_newcol;
A B NEW_C
---------- ---------- ----------
1 1
2 2
3 3 8
4 4 8
//透過檢視實現向表中新增預設值新列後,讓新添列顯示(新增列前後)預設值
SQL> create view view_add_newcol
2 (a,b,new_c)
3 as
4 select a,b,nvl(new_c,8) from t_add_newcol;
檢視已建立。
SQL> select * from view_add_newcol;
A B NEW_C
---------- ---------- ----------
1 1 8
2 2 8
3 3 8
4 4 8
小結:
1,檢視可以很好的使用,用得好,實利於工作
2,在生產系統中,重大操作要分批次進行,比如上述的ddl分多批次進行,這樣
對業務影響減小
3,基本概念掌握相當重要,這樣才會有更精細的方案.防止操作失誤出現
下為自己測試示例:
2012年3月30日 星期五 11時53分
SQL> conn scott/system
已連線。
SQL> create table t_add_newcol(a int,b int);
表已建立。
SQL> insert into t_add_newcol values(1,1);
已建立 1 行。
SQL> insert into t_add_newcol values(2,2);
已建立 1 行。
SQL> commit;
提交完成。
SQL> select * from t_add_newcol;
A B
---------- ----------
1 1
2 2
SQL> alter table t_add_newcol add new_c int;
表已更改。
SQL> select * from t_add_newcol;
A B NEW_C
---------- ---------- ----------
1 1
2 2
SQL> alter table t_add_newcol modify new_c int default 8;
表已更改。
//表明執行新增預設值的新列後,原有記錄不會發生變化,新添列還是空null
SQL> select * from t_add_newcol;
A B NEW_C
---------- ---------- ----------
1 1
2 2
SQL> insert into t_add_newcol values(3,3,default)
2 ;
已建立 1 行。
SQL> commit;
提交完成。
SQL> select * from t_add_newcol;
A B NEW_C
---------- ---------- ----------
1 1
2 2
3 3 8
SQL> insert into t_add_newcol(a,b) values(4,4);
已建立 1 行。
SQL> commit;
提交完成。
SQL> select * from t_add_newcol;
A B NEW_C
---------- ---------- ----------
1 1
2 2
3 3 8
4 4 8
//透過檢視實現向表中新增預設值新列後,讓新添列顯示(新增列前後)預設值
SQL> create view view_add_newcol
2 (a,b,new_c)
3 as
4 select a,b,nvl(new_c,8) from t_add_newcol;
檢視已建立。
SQL> select * from view_add_newcol;
A B NEW_C
---------- ---------- ----------
1 1 8
2 2 8
3 3 8
4 4 8
小結:
1,檢視可以很好的使用,用得好,實利於工作
2,在生產系統中,重大操作要分批次進行,比如上述的ddl分多批次進行,這樣
對業務影響減小
3,基本概念掌握相當重要,這樣才會有更精細的方案.防止操作失誤出現
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-719909/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 《轉貼》如何成為一個優秀的jsp程式設計師JS程式設計師
- 轉搞楊大師_如何插入lob物件物件
- [轉貼]一個JAVA 程式設計師的告白Java程式設計師
- 【新炬網路名師大講堂】Oracle中大表新增帶有預設值列的討論(包括11G,12C新特性)Oracle
- 為 protocol 中屬性新增預設值Protocol
- 如何成為一個偉大的 JavaScript 程式設計師JavaScript程式設計師
- jpa~為欄位新增insert的預設值
- 轉貼_roger大師_
- 表列新增預設值的方法
- 三個快速便捷的命令列小貼士命令列
- (轉載)如何成為一個真正合格的程式設計師?程式設計師
- sqlserver 修改列的預設值SQLServer
- MYSQL中怎樣設列的預設值為Now()的介紹MySql
- 如何成為一個偉大的前端工程師前端工程師
- 如何成為一個糟糕的程式設計師程式設計師
- 如何成為一個卓越的程式設計師程式設計師
- JavaScript在陣列開頭新增一個新的元素JavaScript陣列
- 如何成為一個程式設計師高手程式設計師
- js如何刪除和新增table中的行和列JS
- 轉貼一篇如何成為Java高手Java
- JS如何判斷一個陣列是否為空、是否含有某個值JS陣列
- SQL SERVER檢視列的預設值SQLServer
- 轉_楊大師_如何阻止oracle使用者直接select for update某表Oracle
- 一個程式設計師眼中的價值程式設計師
- jquery如何新增一個新的元素節點jQuery
- 如何快速成為一個遊戲測試工程師(配教程)遊戲工程師
- 一線大廠逃離或為新常態,大齡程式設計師改如何選擇?程式設計師
- 如何利用Google成為一個更好的程式設計師Go程式設計師
- 如何成為一個優秀的 JavaScript 程式設計師JavaScript程式設計師
- 趣圖:程式設計師值得貼一個這樣的程式設計師
- 如何成為偉大的程式設計師?程式設計師
- Oracle資料表預設值列新增與行遷移(Row Migration)Oracle
- 如何從陣列中隨機取出幾個值組成新的陣列?陣列隨機
- 轉轉首席架構師 孫玄:如何成為一個有情懷的工程師?架構工程師
- MySQL多個timestamp欄位自動新增預設值的問題MySql
- 轉貼roger大師_resize datafile小記
- 轉楊大師_查詢條件為ROWNUM=1仍產生長時間等待
- 為FreeBSD新增新硬碟(轉)硬碟