Oracle - 約束、索引等相關常用操作語句
一、表約束
-- 新增主鍵
ALTER TABLE 表名稱 ADD CONSTRAINT 主鍵名稱 PRIMARY KEY(欄位名稱);
-- 增加外來鍵
ALTER TABLE 當前表名稱 ADD CONSTRAINT 外來鍵名 FOREIGN KEY (當前表欄位名) REFERENCES 關聯表名稱 (關聯表欄位名稱);
-- 增加非空約束
ALTER TABLE 表名稱 MODIFY 欄位名稱 DATATYPE NOT NULL;
-- 去除非空約束
ALTER TABLE 表名稱 MODIFY 欄位每次 DATATYPE NULL;
-- 新增唯一約束
ALTER TABLE 表名稱 ADD CONSTRAINT 約束名稱 UNIQUE(欄位名稱);
-- 新增其他約束
ALTER TABLE 表名稱 ADD CONSTRAINT 約束名稱 CHECK(條件一 OR|AND 條件二);
-- 禁用約束
ALTER TABLE 表名稱 DISABLE CONSTRAINT 約束名稱;
-- 啟用約束
ALTER TABLE 表名稱 ENABLE CONSTRAINT 約束名稱;
-- 重新命名約束
ALTER TABLE 表名稱 RENAME CONSTRAINT 舊約束名稱 TO 新約束名稱
-- 檢視約束
select table_name,constraint_name,constraint_type, SEARCH_CONDITION from user_constraints where table_name='表名(大寫)';
-- 刪除約束
alter table student drop constraint 約束名稱;
二、表索引 -- 建立索引
CREATE INDEX 索引名稱 ON 表名稱 (欄位名稱,欄位名稱) TABLESPACE 表空間名稱;
-- 檢視索引
SELECT
UIC.*,IDX.INDEX_TYPE FROM USER_IND_COLUMNS UIC,USER_INDEXES IDX
WHERE
UIC.INDEX_NAME = IDX.INDEX_NAME AND UIC.TABLE_NAME='表名稱(大寫)';
-- 刪除索引
DROP INDEX 使用者名稱.索引名; -- 當表結構被刪除時,其相關的所有索引也隨之被刪除
三、其他相關 -- 檢視包/儲存過程的定義
SELECT OWNER,NAME,TYPE,LINE,TEXT FROM ALL_SOURCE WHERE OWNER = UPPER('使用者名稱') AND TYPE = 'PACKAGE';
-- 檢視使用者物件(表/過程/等)的詳細資料
SELECT * FROM USER_OBJECTS WHERE OBJECT_NAME='PDTYPES';
-- 檢視觸發器
SELECT TRIGGER_NAME FROM ALL_TRIGGERS; -- 檢視所有觸發器的名稱
SELECT TEXT FROM ALL_SOURCE WHERE TYPE='TRIGGER' AND NAME='觸發器名稱'; -- 檢視觸發器的定義
-- 檢視序列及其相關屬性
SELECT * FROM DBA_SEQUENCES;
相關文章
- Oracle - 表空間相關常用操作語句Oracle
- Oracle - 表相關常用操作語句Oracle
- MySQL 中的約束及相關操作MySql
- SQLite語句(一):表的操作和約束SQLite
- mysql新增約束語句筆記MySql筆記
- Oracle - 匯入匯出常用操作語句Oracle
- 【ORACLE】常用物化檢視相關後設資料查詢語句Oracle
- ORACLE常用語句:Oracle
- 常用oracle語句Oracle
- Oracle主鍵約束、唯一鍵約束、唯一索引的區別(轉)Oracle索引
- Oracle如何管理帶約束的B樹索引Oracle索引
- oracle常用SQL語句OracleSQL
- 資料庫——一些復健(主要是約束和索引相關練習)資料庫索引
- (轉)oracle資料庫中所有外來鍵約束失效SQL語句Oracle資料庫SQL
- 18 與Oracle Data Guard 相關的SQL語句OracleSQL
- Oracle約束Oracle
- oracle 約束Oracle
- 修改表名索引約束觸發器等物件不會失效索引觸發器物件
- oracle相關內容索引Oracle索引
- oracle 常用語句彙總Oracle
- 常用的oracle基本語句Oracle
- MySql相關語句總結MySql
- 資料庫維護常用操作命令1--約束資料庫
- 資料庫維護常用操作命令2--約束資料庫
- Oracle Dataguard基本操作語句Oracle
- MySql常用操作SQL語句彙總MySql
- 資料庫常用操作SQL語句資料庫SQL
- 查詢oracle表的資訊(表,欄位,約束,索引)Oracle索引
- 【oracle基礎】一些常用的開關語句Oracle
- 資料庫常用約束資料庫
- Oracle定義約束 外來鍵約束Oracle
- oracle index索引相關筆記OracleIndex索引筆記
- 【MySQL】MySQL基礎(SQL語句、約束、資料型別)MySql資料型別
- oracle資料庫常用語句Oracle資料庫
- 【LOB】Oracle lob管理常用語句Oracle
- Oracle常用的查詢語句Oracle
- Oracle維護常用SQL語句OracleSQL
- 資料完整性約束:主鍵、外來鍵、各種約束的建立刪除語句