表增刪改欄位,及基表改變等相關操作對檢視、同義詞、儲存過程的影響
oracle無法像mysql那樣直接修改欄位順序,oracle修改欄位順序需要修改資料欄位並重啟
以下語句在USER1使用者下或SYSTEM使用者下執行都是一樣的結果
修改欄位名,oracle不支援一條alert命令修改多個欄位名
ALTER TABLE USER1.TABLE1 RENAME COLUMN hid1 TO hid ;
修改欄位型別,修改一個欄位或多個欄位型別
ALTER TABLE USER1.TABLE1 MODIFY hid NUMBER(11) ;
ALTER TABLE USER1.TABLE1 MODIFY (hid NUMBER(10),HNA varchar(20),HADD varchar(20)) ;
新增欄位,新增一個欄位或多個欄位
ALTER TABLE USER1.TABLE1 ADD ADDRESS VARCHAR2(10) ;
ALTER TABLE USER1.TABLE1 ADD (ADDRESS2 VARCHAR2(10) ,ADDRESS3 VARCHAR2(10),ADDRESS4 VARCHAR2(10) );
刪除欄位,刪除一個欄位或多個欄位,刪除多個欄位時不能有關鍵字COLUMN
ALTER TABLE USER1.TABLE1 DROP COLUMN ADDRESS ;
ALTER TABLE USER1.TABLE1 DROP (ADDRESS2, ADDRESS3,ADDRESS4) ;
1.增加欄位
select檢視時發現:檢視沒有自動獲取到新增的欄位
select同義詞時發現:同義詞自動獲取到了新增的欄位
2.刪除欄位
select檢視時發現:如果檢視引用了該欄位,檢視報錯
如果檢視沒有引用該欄位,檢視正常
select同義詞時發現:同義詞自動刪除了欄位
3.修改欄位長度或型別
檢視、同義詞、儲存過程都沒有任何影響
4.drop表
檢視、同義詞、儲存過程都失效了,即dba_objects.status='INVALID'
以上說明:
增減欄位對同義詞沒有任何影響,因為同義詞的建立語句為CREATE SYNONYM URSR1.SYNONYM_NAME FOR URSRX.TABLE_NAME
增欄位對檢視沒有影響,減欄位對檢視的影響,只以第一次建立檢視時引用的欄位有關,就算第一次是select * from table,檢視真實的建立語法也是select column1,column2,column3.. from table
以下語句在USER1使用者下或SYSTEM使用者下執行都是一樣的結果
修改欄位名,oracle不支援一條alert命令修改多個欄位名
ALTER TABLE USER1.TABLE1 RENAME COLUMN hid1 TO hid ;
修改欄位型別,修改一個欄位或多個欄位型別
ALTER TABLE USER1.TABLE1 MODIFY hid NUMBER(11) ;
ALTER TABLE USER1.TABLE1 MODIFY (hid NUMBER(10),HNA varchar(20),HADD varchar(20)) ;
新增欄位,新增一個欄位或多個欄位
ALTER TABLE USER1.TABLE1 ADD ADDRESS VARCHAR2(10) ;
ALTER TABLE USER1.TABLE1 ADD (ADDRESS2 VARCHAR2(10) ,ADDRESS3 VARCHAR2(10),ADDRESS4 VARCHAR2(10) );
刪除欄位,刪除一個欄位或多個欄位,刪除多個欄位時不能有關鍵字COLUMN
ALTER TABLE USER1.TABLE1 DROP COLUMN ADDRESS ;
ALTER TABLE USER1.TABLE1 DROP (ADDRESS2, ADDRESS3,ADDRESS4) ;
1.增加欄位
select檢視時發現:檢視沒有自動獲取到新增的欄位
select同義詞時發現:同義詞自動獲取到了新增的欄位
2.刪除欄位
select檢視時發現:如果檢視引用了該欄位,檢視報錯
如果檢視沒有引用該欄位,檢視正常
select同義詞時發現:同義詞自動刪除了欄位
3.修改欄位長度或型別
檢視、同義詞、儲存過程都沒有任何影響
4.drop表
檢視、同義詞、儲存過程都失效了,即dba_objects.status='INVALID'
以上說明:
增減欄位對同義詞沒有任何影響,因為同義詞的建立語句為CREATE SYNONYM URSR1.SYNONYM_NAME FOR URSRX.TABLE_NAME
增欄位對檢視沒有影響,減欄位對檢視的影響,只以第一次建立檢視時引用的欄位有關,就算第一次是select * from table,檢視真實的建立語法也是select column1,column2,column3.. from table
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2141612/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何把SQL Server中一個表,一個儲存過程,一個檢視等改為系統表,系統儲存過程,系統檢視等...SQLServer儲存過程
- 【檢視】利用USER_TAB_MODIFICATIONS檢視輔助監控表的增刪改等操作
- 表的建立修改及增刪改查-DML操作
- .NET使用儲存過程實現對資料庫的增刪改查儲存過程資料庫
- 動態給表新增刪除欄位並同時修改它的插入更新儲存過程儲存過程
- MySQL表的增刪改查(基礎)MySql
- 改變表中非空欄位的型別型別
- 檢視和儲存過程相關物件儲存過程物件
- sql小筆記(增刪改查——新增列、修改表名、列的欄位型別等)SQL筆記型別
- easyui treegrid增、刪、改及批量儲存UI
- oracle 線上重新定義,普通表改變分割槽表,分割槽表可以更改型別、分割槽欄位等Oracle型別
- 改變表的欄位順序dbms_REDEFINITION
- 更新大表中某個欄位的儲存過程儲存過程
- 資料庫物件、表空間、表、檢視、索引、同義詞序列等的字典資料庫物件索引
- oracle儲存過程詳解--遊標 實現增、刪、改、查Oracle儲存過程
- oracle 謂詞表示式對基數的影響(及11G改進)Oracle
- 檢視insert,delete,update對基表的影響(檢視初識)delete
- 表資料的儲存對索引的影響索引
- 常用查詢Oracle的表,檢視,儲存過程,使用者等SQL命令Oracle儲存過程SQL
- 主從表,增,刪,改操作時產生的鎖演示
- 通過建立檢視及同義詞方式實現普通使用者查詢X$基表的方法
- MySQL表的增刪查改(提高篇)MySql
- MySQL基礎操作(增刪改查)MySql
- 在SQL Server中對檢視進行增刪改SQLServer
- 查詢基表的相關檢視
- 要把當前使用者的所有許可權(對錶,檢視,序列,觸發器,同義詞等增刪改查)賦給另一個使用者觸發器
- MyBatis框架搭建及增刪改查操作MyBatis框架
- 一個“儲存”按鈕同時存在“增刪改”三種操作,該如何去實現?
- db2刪除已經儲存的表儲存過程DB2儲存過程
- MySQL表的增刪改查(進階)下MySql
- 臨時表空間的增刪改查
- GoldenGate DML複製增刪改表Go
- 廣義表的相關操作
- mysql一些複製表、增刪改索引、建儲存過程、建立函式、建立觸發器的一些命令MySql索引儲存過程函式觸發器
- MongoDB增刪改查操作MongoDB
- oracle 臨時表空間的增刪改查Oracle
- ORACLE 臨時表空間的增刪改查:Oracle
- oracle臨時表空間的增刪改查Oracle