表增刪改欄位,及基表改變等相關操作對檢視、同義詞、儲存過程的影響
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儲存過程
- MySQL表的增刪改查(基礎)MySql
- sql小筆記(增刪改查——新增列、修改表名、列的欄位型別等)SQL筆記型別
- 單表增刪改查
- oracle 線上重新定義,普通表改變分割槽表,分割槽表可以更改型別、分割槽欄位等Oracle型別
- 14、flask-模型-models-表的操作-增刪改查Flask模型
- MySql 表資料的增、刪、改、查MySql
- MySQL表的增刪查改(提高篇)MySql
- MySQL基礎操作(增刪改查)MySql
- sql 儲存過程proc中的引數 是 @details 表值 引數型別的時候,如何如何檢視 自定義表的 表結構和欄位資訊SQL儲存過程AI型別
- 一個“儲存”按鈕同時存在“增刪改”三種操作,該如何去實現?
- MySQL表的增刪改查(進階)下MySql
- mybatis中的增刪改操作MyBatis
- MongoDB增刪改查操作MongoDB
- oracle 臨時表空間的增刪改查Oracle
- Alter修改表結構對資料儲存的影響PP
- Android 中關於增刪改查資料庫表實踐Android資料庫
- MyBatis實現MySQL表欄位及結構的自動增刪MyBatisMySql
- Elasticsearch使用系列-ES增刪查改基本操作+ik分詞Elasticsearch分詞
- PHP操作MongoDB(增刪改查)PHPMongoDB
- Odoo禁止Tree、Form檢視增刪改編輯OdooORM
- Flask——模型的使用及增刪改Flask模型
- mysql 儲存過程中變數的定義與賦值操作MySql儲存過程變數賦值
- SQL Server 表的管理_關於資料增刪查改的操作的詳解(案例程式碼)SQLServer
- hibernate 自定義表名與列名 - 增刪改查分頁 - 相容Mysql和OracleMySqlOracle
- node+express對本地檔案的增刪改查操作Express
- abp(net core)+easyui+efcore實現倉儲管理系統——展現層實現增刪改查之增刪改檢視(八)UI
- Mysql資料庫建立儲存過程實現往資料表中新增欄位的方法MySql資料庫儲存過程
- Sql儲存過程分頁--臨時表儲存SQL儲存過程
- mysql資料增刪改查操作MySql
- JS字串操作之增刪改查JS字串
- MySQL資料庫 ---MySQL表的增刪改查(進階)MySql資料庫
- MySQL——表的約束,資料型別,增刪查改MySql資料型別
- MySQL--儲存過程與檢視MySql儲存過程
- JS基礎_dom增刪改JS
- SQL 基礎增、刪、改、查SQL
- gson改變輸出欄位的順序
- 關於Entity Freamwork 儲存過程操作儲存過程
- JSP實現servlet對資料庫的增刪查改操作JSServlet資料庫