oracle檢視當前使用者下所有外來鍵、主鍵、索引、sequence的建立語句
oracle檢視當前使用者下所有外來鍵、主鍵、索引、sequence的建立語句
前不久挖掘人員問我,想把一個伺服器上得A使用者下得主鍵、外來鍵、索引都移到B使用者下
方法可以透過pl/sql developer工具可以匯出在匯入
以下是 oracle檢視當前使用者下所有主鍵的建立語句可以直接貼到其他使用者
SELECT --'ALTER TABLE '||A.TABLE_NAME||' ADD CONSTRAINT '||A.CONSTRAINT_NAME||' PRIMARY KEY ('||A.COLUMN_NAME||') USING INDEX TABLESPACE USERS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED);'
'ALTER TABLE ' || A.TABLE_NAME || ' ADD CONSTRAINT ' || A.CONSTRAINT_NAME ||
' PRIMARY KEY (' || A.COLUMN_NAME || ');'
FROM USER_CONS_COLUMNS A
JOIN USER_CONSTRAINTS B
ON A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
AND A.POSITION = 1
AND B.CONSTRAINT_TYPE = 'P';
外來鍵的建立語句
SELECT DISTINCT 'ALTER TABLE ' || CON1.QCSJ_C000000000400004 ||
' ADD CONSTRAINT ' || CON1.QCSJ_C000000000400002 ||
' FOREIGN KEY (' || CON1.COLUMN_NAME || ') REFERENCES ' ||
CON2.TABLE_NAME || ' (' || CON2.COLUMN_NAME || ');'
FROM (SELECT *
FROM USER_CONS_COLUMNS A
JOIN USER_CONSTRAINTS B
ON A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
AND A.POSITION = 1
AND B.CONSTRAINT_TYPE = 'R') CON1,
(SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME
FROM (SELECT A1.CONSTRAINT_NAME,
A1.TABLE_NAME,
A1.COLUMN_NAME,
B1.CONSTRAINT_TYPE,
B1.R_CONSTRAINT_NAME
FROM USER_CONS_COLUMNS A1
JOIN USER_CONSTRAINTS B1
ON A1.CONSTRAINT_NAME = B1.CONSTRAINT_NAME
WHERE A1.POSITION = 1
and a1.CONSTRAINT_NAME in
((SELECT B1.R_CONSTRAINT_NAME
FROM USER_CONS_COLUMNS A1
JOIN USER_CONSTRAINTS B1
ON A1.CONSTRAINT_NAME = B1.CONSTRAINT_NAME
WHERE A1.POSITION = 1)))) CON2
WHERE CON1.R_CONSTRAINT_NAME = CON2.CONSTRAINT_NAME;
普通索引的建立語句
SELECT 'CREATE INDEX ' || INDEX_NAME || ' ON SINOSOFT.' || TABLE_NAME || ' (' ||
COLUMN_NAME || ');'
FROM USER_IND_COLUMNS
WHERE INDEX_NAME IN (SELECT INDEX_NAME
FROM USER_IND_COLUMNS UIC
WHERE NOT EXISTS
(SELECT 1
FROM USER_CONS_COLUMNS UCC
WHERE POSITION = 1
AND UIC.INDEX_NAME = UCC.CONSTRAINT_NAME)
GROUP BY INDEX_NAME
HAVING COUNT(INDEX_NAME) = 1);
sequence的建立語句
SELECT 'CREATE SEQUENCE ' || SEQUENCE_NAME || ' MINVALUE ' || MIN_VALUE ||
' MAXVALUE ' || MAX_VALUE || ' START WITH ' || LAST_NUMBER ||
' INCREMENT BY ' || INCREMENT_BY ||(CASE
WHEN CACHE_SIZE = 0 THEN
' NOCACHE'
ELSE
' CACHE ' ||CACHE_SIZE
END)||';'
FROM USER_SEQUENCES;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28602568/viewspace-759542/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql建立外來鍵語句MySql
- 新的主鍵和外來鍵的語法
- (轉)oracle資料庫中所有外來鍵約束失效SQL語句Oracle資料庫SQL
- SQL提取當前庫內索引的建立語句SQL索引
- 資料完整性約束:主鍵、外來鍵、各種約束的建立刪除語句
- 【Tips】使用SQL生成外來鍵的SQL建立語句SQL
- 檢視當前oracle中正在執行的sql語句OracleSQL
- 檢視當前使用者執行語句等資訊
- 【轉】檢視Oracle當前使用者下的資訊Oracle
- Oracle根據主鍵查詢外來鍵Oracle
- 外來鍵缺索引檢查指令碼索引指令碼
- ORACLE: 查詢(看)表的主鍵、外來鍵、唯一性約束和索引Oracle索引
- 檢查外來鍵是否有索引的指令碼索引指令碼
- Oracle查詢當前使用者和當前使用者下的所有表Oracle
- oracle檢視建立物件的DDL語句Oracle物件
- 在已存在的表結構上新增主鍵、外來鍵、聯合主鍵、聯合索引的例子索引
- SQL的主鍵和外來鍵約束SQL
- 通過在Oracle子表外來鍵上建立索引提高效能Oracle索引
- Oracle 外來鍵索引影響阻塞問題Oracle索引
- 查詢(看)表的主鍵、外來鍵、唯一性約束和索引索引
- 批量修改欄位長度,考慮主鍵外來鍵索引的情況【轉】索引
- 主鍵與主鍵索引的關係索引
- 10.30 索引,外來鍵索引
- 父表修改與外來鍵的關係(主鍵DML與外來鍵的關係)
- 檢視SQLSERVER主鍵列SQLServer
- oracle查詢表資訊(索引,外來鍵,列等)Oracle索引
- 檢視oracle當前sessionOracleSession
- 查詢沒有索引的外來鍵索引
- ORACLE刪除當前使用者下所有的表的方法Oracle
- Oracle主鍵、唯一鍵與唯一索引的區別Oracle索引
- Oracle刪除主鍵保留索引的方法Oracle索引
- Oracle 建立主鍵自增表Oracle
- mysql刪除主鍵索引,刪除索引語法MySql索引
- 主鍵、自增主鍵、主鍵索引、唯一索引概念區別與效能區別索引
- 菜鳥學資料庫(四)——超鍵、候選鍵、主鍵、外來鍵資料庫
- oracle外來鍵索引解決父表鎖定問題Oracle索引
- 檢視當前Windows系統CMD所有的命令Windows
- 檢視主外來鍵關係