1. 程式人生 > >oracle獲取當前使用者表、欄位詳細資訊SQL

oracle獲取當前使用者表、欄位詳細資訊SQL

做個筆記,僅供參考

SELECT  
d.TABLE_NAME tbName,//表名
COALESCE(t.COMMENTS, ' ') tbDesc, //表註釋
a.COLUMN_NAME columnName, //欄位名
a.DATA_TYPE columnType, //欄位型別
a.DATA_LENGTH width, //欄位長度
a.DATA_SCALE precision,//欄位小數位

decode(a.NULLABLE,'Y','0','1') notNull,//是否允許空
COALESCE(m.COMMENTS, ' ') comments, //欄位備註
decode(k.uniqueness,'UNIQUE','1','0') uniques, //是否唯一
COALESCE(k.index_name, ' ') indexName,//如果是索引,索引名
decode(k.key,'Y','1','0') masterKey//是否主鍵
FROM
user_tab_columns a
INNER JOIN  user_tables d on a.TABLE_NAME=d.TABLE_NAME
LEFT JOIN user_tab_comments t ON t.TABLE_NAME=d.TABLE_NAME
LEFT JOIN user_col_comments m ON m.COLUMN_NAME=a.COLUMN_NAME AND m.TABLE_NAME=d.TABLE_NAME
LEFT JOIN
(
SELECT e.index_name,u.TABLE_NAME,u.COLUMN_NAME,e.uniqueness,decode(p.constraint_name,NULL,'N','Y') key
from user_indexes e INNER JOIN user_ind_columns u ON e.index_name=u.index_name
LEFT JOIN ( select constraint_name from user_constraints where constraint_type='P' ) p ON e.index_name=p.constraint_name
) k ON k.TABLE_NAME=a.TABLE_NAME and k.COLUMN_NAME=a.COLUMN_NAME
ORDER BY tbName

備註:user_開頭是當前使用者,all_開頭所有使用者,dba_開頭包括系統表

相關推薦

oracle獲取當前使用者詳細資訊SQL

做個筆記,僅供參考 SELECT  d.TABLE_NAME tbName,//表名COALESCE(t.COMMENTS, ' ') tbDesc, //表註釋a.COLUMN_NAME columnName, //欄位名a.DATA_TYPE columnType, /

oracle中檢視所有註釋註釋

oracle中檢視所有表、欄位、表註釋、欄位註釋 檢視所有表 select table_name from user_tables; //檢視當前使用者擁有的表 select table_name from all_tables; //檢視所有使用者

ORACLE 獲取資料庫所有

   Class.forName(driverClassName);    // 建立連線    Connection con = DriverManager.getConnection(url,userName,password);    // 建立狀態    Statement stmt = con.cr

ORACLE——在所有中查詢某個字串並輸出名和

什麼都不想說,直接上乾貨 declare v_Sql varchar2(2000); v_count number; begin for xx in (select t.OWNER, t.TABLE_NAME, t.COLUMN_NAME from

MFC獲取SqlServer資料庫所有記錄資料

程式碼如下過程其實不是每一步都有,但是主要功能都在! //1、連線資料庫類 BOOL CSqlDlg::Ado(CString strConn) { ::CoInitialize(NULL); // 初始化OLE/COM庫環境 try { m_pConn.CreateInstan

Oracle 根據值查詢其所在的(只有資訊,連型別都不知道)

今天一哥們求助,oracle的我只知道ziduan欄位的值,連型別,大小設定全都不知道,如何查詢到該欄位所在的表,以及該欄位名。以下是我編寫的實際指令碼: 1.假設該欄位是varchar2或者char型別 DECLARE CURSOR cur_hh IS SELECT tabl

oracle 查詢表字段明顯註釋註釋

查詢表字段明細 select  column_name,data_type,data_length,DATA_PRECISION ,DATA_SCALE  from all_tab_columns where table_name='tablename'   欄位註釋 se

oracle對使用者 的基本操作

1.建立使用者並設定密碼    create user username identified by password ;2.修改使用者密碼    alter usernameidentified b

Oracle中查詢庫中的長度是否為空等

--查詢所有的表名 select t.table_name from user_tables t; --查詢表的欄位名 select t.column_name from user_col_co

oracle資料庫查詢某個資訊

(1)查詢整個資料庫所有表的欄位 select t.column_name from user_col_comments t;(一般建議去執行,因為資料庫表過多執行起來會非常的慢) (2)查詢特定表名的表字段 select t.column_name, t.column_name&nbs

MySQL修改資料庫字符集

修改資料庫字符集:   程式碼如下:   ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];   把表預設的字符集和所有字元列(CHAR,VARCHAR,TEXT)改為

檢視和修改 mysql庫編碼

檢視編碼 檢視資料庫編碼。 show variables like '%char%'; 查看錶編碼 show create table <表名>; 例:show create table user; 檢視欄

mysql常用的一些命令,用於檢視資料庫編碼

1.檢視資料庫支援的所有字符集 show character set;或show char set; 2.檢視當前狀態 裡面包括當然的字符集設定 status或者\s 3.檢視系統字符集設定,包括所有的字符集設定 show variables like 'char%'; 4.檢視資料表中字符集設定 show

MySql庫的字符集修改及檢視方法

原文連結:http://www.jb51.net/article/68856.htm修改資料庫字符集:複製程式碼程式碼如下:ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];  

mysql修改庫的字符集

修改資料庫字符集: ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE …]; 把表預設的字符集和所有字元列(CHAR,VARCHAR,TEXT)改為新的字符集

Sqlite中判斷是否存在的方法

  sqlite會自動維護一個系統表sqlite_master,該表儲存了我們所建立的各個table, view, trigger等等資訊。 sqlite_master表資料欄位: type:  型別,取值一般為table, view name:     tbl_n

Oracle中檢視所有

https://www.cnblogs.com/emanlee/archive/2011/12/02/2272629.html 獲取表字段: select *  from user_tab_columns  where Table_Name='使用者表'  order by column_name 獲取表註

SQL語句判斷資料庫是否存在

一、資料庫 (1)查詢系統中-->存放所有資料庫資訊的資訊表(sysdatabases) 語句:  select * from master.dbo.sysdatabases   where n

觸發器動態獲取前行的某的值

create trigger del_replyon Articlefor deleteasdeclare @id intset @id=(select classID from deleted)delete Reply where [email protected

Oracle ORA-39726壓縮刪除處理方法

今天在往一個壓縮表增加一個欄位可以增加成功,但在刪除的時候報了個 ORA-39726 unsupported add/drop column operation on compressed tables的錯誤。 錯誤是不能對壓縮表增加或刪除欄位,奇怪的可以增加,但是不能刪