1、檢視全庫表狀態oracle中檢視所有的表: select * from tab/dba_tables/dba_objects/cat;
看使用者建立的表 : select table_name from user_tables;
當前使用者的表 select table_name from all_tables;
所有使用者的表 select table_name from dba_tables; //包括系統表
可以查詢出所有的使用者表索引 select * from user_indexes
查所有使用者的表在all_tables 主鍵名稱、外來鍵在all_constraints 索引在all_indexes 但主鍵也會成為索引,所以主鍵也會在all_indexes裡面。
具體需要的字段可以desc下這幾個view,dba登陸的話可以把all換成dba
1、查詢表的所有索引(包括索引名,型別,構成列):
select t.*,i.index_type from user_ind_columns t,user_indexes i
where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查詢的表
2、查詢表的主鍵(包括名稱,構成列):
select cu.* from user_cons_columns cu, user_constraints au
where cu.constraint_name = au.constraint_name and au.constraint_type = 'p' and au.table_name = 要查詢的表
3、查詢表的唯一性約束(包括名稱,構成列):
select column_name from user_cons_columns cu, user_constraints au
where cu.constraint_name = au.constraint_name and au.constraint_type = 'u' and au.table_name = 要查詢的表
4、查詢表的外來鍵(包括名稱,引用表的表名和對應的鍵名,下面是分成多步查詢):
select * from user_constraints c where c.constraint_type = 'r' and c.table_name = 要查詢的表查詢外來鍵約束的列名:
select * from user_cons_columns cl where cl.constraint_name = 外來鍵名稱查詢引用表的鍵的列名:
select * from user_cons_columns cl where cl.constraint_name = 外來鍵引用表的鍵名
5、查詢表的所有列及其屬性
where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查詢的表
2、行轉列(多行拼一行)函式
listagg函式,語法結構如下:
listagg( [,]) within group (order by ) [over (partition by )]
listagg雖然是聚合函式,但可以提供分析功能(比如可選的over()子句)。使用listagg中,下列中的元素是必須的:
•需要聚合的列或者表示式
•分組中的order by子句
例子:deptno ename
--------- ----------
10 clark
10 king
10 miller
20 adams
20 ford
20 jones
按照deptno欄位分組,對結果集進行字串聚合,結果如下:
deptno aggregated_enames
--------- -------------------------
10 clark,king,miller
20 adams,ford,jones
sql:
select deptno,listagg(ename, ',') within group (order by ename) as employees from emp group by deptno;
Oracle 資料庫小技巧整理
1 關於監聽程式建立不了 服務內不顯示監聽服務 這個問題我遇到的是使用者許可權不夠,在命令行內輸入netca,建立服務,發現出現配置檔案不能儲存的io錯誤。解決方法 以管理員身份執行命令列,然後執行netca命令建立監聽服務 lsnrctl start 啟動監聽服務即可 lsnrctl status...
資料庫小技巧
1.返回第乙個非空數值 select coalesce null,null,null,w3schools.com null,example.com 返回 w3schools.com select coalesce null,1,2,w3schools.com 返回 1 應用 將乙個欄位中空值全部替換...
資料庫使用小技巧
包括安裝時提示有掛起的操作 收縮資料庫 壓縮資料庫 轉移資料庫給新使用者以已存在使用者許可權 檢查備份集 修復資料庫等。一 掛起操作 在安裝sql或sp補丁的時候系統提示之前有掛起的安裝操作,要求重啟,這裡往往重啟無用,解決辦法 到hkey local machine system currentc...