Oracle中獲取使用者表資訊詳情

2021-08-14 19:26:48 字數 3468 閱讀 9949

1.

獲取當前使用者的使用者名稱

select username from user_users;
2.

獲取某個使用者下的所有表名稱 

select table_name from all_tables where owner = '使用者名稱';--注意大小寫
3.

獲取當前使用者下某張表的詳細資訊    

select t.table_name,        --表名

t.column_name, --欄位名

t.data_type, --欄位型別

t.data_length, --長度

t.nullable --是否為空

from all_tab_cols t

where table_name = '表名'; --注意大小寫

4.

獲取當前使用者下所有表和字段資訊詳情

(1)

select       

t1.table_name, --表英文名

t6.comments, --表中文名

t1.column_id, --欄位序號

t1.column_name, --欄位英文名

t5.comments, --欄位中文名

t1.data_type, --欄位型別

t1.data_length, --資料長度

t1.char_length, --字元長度

t1.data_precision, --數值長度

t1.data_scale, --數值精度

t1.nullable, --是否允許空值

t4.index_name, --索引名稱

t4.column_position, --索引字段順序號

t4.descend --索引字段排序方式

from user_tab_columns t1 --表字段清單

left join (select t2.table_name, --表名

t2.column_name, --欄位名

t2.column_position, --欄位順序號

t2.descend, --排序方式

t3.index_name --索引名稱

from user_ind_columns t2 --索引字段

left join user_indexes t3 --索引資訊

on t2.table_name = t3.table_name and t2.index_name = t3.index_name

and t3.status = 'valid' and t3.uniqueness = 'unique') t4 --unique:唯一索引

on t1.table_name = t4.table_name and t1.column_name = t4.column_name

left join user_col_comments t5 on t1.table_name = t5.table_name and t1.column_name = t5.column_name

left join user_tab_comments t6 on t1.table_name = t6.table_name

order by t1.table_name, t1.column_id;

(2)

select

t1.owner, --表schema

t1.table_name, --表英文名

t6.comments, --表中文名

t1.column_id, --欄位序號

t1.column_name, --欄位英文名

t5.comments, --欄位中文名

t1.data_type, --欄位型別

t1.data_length, --資料長度

t1.char_length, --字元長度

t1.data_precision, --數值長度

t1.data_scale, --數值精度

t1.nullable, --是否允許空值

t4.index_name, --索引名稱

t4.column_position, --索引字段順序號

t4.descend --索引字段排序方式

from all_tab_columns t1 --表字段清單

left join (select t2.table_owner, --表

t2.table_name, --表名

t2.column_name, --欄位名

t2.column_position, --欄位順序號

t2.descend, --排序方式

t3.index_name --索引名稱

from all_ind_columns t2 --索引字段

left join all_indexes t3 --索引資訊

on t2.table_owner = t3.table_owner and t2.table_name = t3.table_name and t2.index_name = t3.index_name

and t3.status = 'valid' and t3.uniqueness = 'unique') t4 --unique:唯一索引

on t1.owner = t4.table_owner and t1.table_name = t4.table_name and t1.column_name = t4.column_name

left join all_col_comments t5 on t1.owner = t5.owner and t1.table_name = t5.table_name and t1.column_name = t5.column_name

left join all_tab_comments t6 on t1.owner = t6.owner and t1.table_name = t6.table_name

where t1.owner in ('使用者名稱')

order by t1.owner, t1.table_name, t1.column_id;

備註:方法(1

)和方法(2)的區別在於使用的表不同,表以user開頭,查詢當前使用者,以all開頭,查詢所有使用者,以dba開頭,查詢包括系統表的內容。在日常使用中,靈活變通,選擇不同的表,查詢自己需要的內容。

Shiro 中獲取使用者資訊

先說下寫本文的原因 現在有個bug 登陸時,shiro 可以正常獲取到使用者資訊,但是退出登陸時獲取不到使用者資訊,從而無法實 現儲存退出登陸的時間。很是頭大,為什麼獲取不到,那我退出登陸時,要存相應的退出時間,要怎麼辦?腫麼辦?當時很急,又找不到可靠的解決方法。看部落格看了一大堆,感覺對我來說,都...

根據使用者ID獲取使用者資訊

在新浪微博授權後呼叫獲取使用者資訊的介面時候會報以下錯誤 使用者不存在 com.weibo.sdk.android.weiboexception 如果你檢視新浪原始碼的就會發現,其實這個錯誤是乙個很幼稚的問題,為什麼這麼說呢,我們先看下原始碼 j a 根據使用者id獲取使用者資訊 param uid...

ThreadLocal全域性獲取使用者資訊

場景需求 雖然在登入之後,前端可以獲取到我所返回的jwt,然後通過它保持登入狀態和獲取資訊。然後在呼叫介面的時候將資訊傳遞給我進行各種操作。但是種種原因問題,我需要很簡便地在執行操作的過程中,在任何乙個方法中都能獲取到當前使用者的一些基本資訊。而不純粹依賴前端傳值。因為並非所有方法都可以拿到jwt,...