oracle表名存儲表及注釋
① oracle 怎麼讀取表結構和注釋,生成資料庫結構文檔
PD可以做到,如果你的問題是要生成關系圖與表結構的話,然後出資料庫文檔設計,可以選擇PD,如果你是要用程序讀取資料庫,然後讀取表結構的設計,用在程序本身,生成可配置式的系統,這個得查一下,好像ORACLE有查詢表的系統函數,具體哪個忘記了,不知道你具體是干什麼事情,希望對你有幫助
② 如何使用sql語句,查詢oracle的表注釋等信息
Oracle 下讀取表/欄位的備注信息
Oracle 通過COMMENT ON TABLE / COMMENT ON COLUMN 追加表/欄位的備注。
CREATE TABLE "MR_DEPT" (
"DEPT_ID" NUMBER NOT NULL ,
"PARENT_ID" NUMBER,
"DEPT_NAME" CHAR(20) NOT NULL ,
"STATUS" NUMBER DEFAULT 1 NOT NULL ,
PRIMARY KEY ("DEPT_ID")
);
COMMENT ON TABLE "MR_DEPT" IS '部門表';
COMMENT ON COLUMN "MR_DEPT"."DEPT_ID" IS '部門編號';
COMMENT ON COLUMN "MR_DEPT"."PARENT_ID" IS '上級部門編號';
COMMENT ON COLUMN "MR_DEPT"."DEPT_NAME" IS '部門名';
COMMENT ON COLUMN "MR_DEPT"."STATUS" IS '狀態';
備注加好以後,如何在查詢中檢索呢?
查詢表的備注信息
SELECT
TABLE_NAME,
TABLE_TYPE,
COMMENTS
FROM
USER_TAB_COMMENTS
WHERE
TABLE_NAME = 'MR_DEPT;
查詢欄位的備注信息
SELECT
TABLE_NAME,
COLUMN_NAME,
COMMENTS
FROM
USER_COL_COMMENTS
WHERE
TABLE_NAME = 'MR_DEPT;
③ Oracle查看錶空間中表的名稱及說明,也就是對表的注釋
看錶的注釋用系統視圖user_tab_comments
select*fromuser_tab_comments
比如需要查emp表的注釋:
select*fromuser_tab_commentswheretable_name='EMP';
表名要大寫
④ oracle表名中帶@什麼意思,例如:select * from dim.dim_area_no@to_dw
@是調用資料庫鏈接(database link)的意思。
資料庫鏈接的作用是從a資料庫到b資料庫之間訪問的一種手段。類似於 ogg 中的表同步(用戶同步)。db link 的主要作用是跨庫查詢。有很多業務都需要進行跨庫查詢。這種方式創建方式簡單、易懂、可以擁有創建用戶的所有許可權。
(4)oracle表名存儲表及注釋擴展閱讀
資料庫鏈接也有缺點,比如大量消耗資料庫資源;本地系統每通過DBLINK鏈接遠端系統一次,都會生成一個本地session,如本地session不退出或者手動釋放,只有通過session超時才能自動釋放,會浪費大量的系統資源。
容易出現資料庫BUG:大量使用DBLINK,本地系統極易出現ORA-02068、ORA-03113、ORA-02080、ORA-02054、ORA-02050等Oracle錯誤,這種錯誤大部分會影響當前session正在處理的業務。
由於使用DBLINK,本地系統在獲取數據時,每次鏈接都會對遠端資料庫進行一次全表掃描,且所有數據都會傳輸回本地資料庫內,導致性能降低並且嚴重浪費當前系統資源。尤其出現一條sql語句從兩個DBLINK中取數,更被稱之為「性能殺手」,尤其是OLTP型資料庫。
⑤ oracle資料庫中哪張表儲存所有表列描述
是表注釋還是欄位注釋?
表注釋用 :
user_tables user_tab_comments 。
欄位注釋用 :
user_tab_columns user_col_comments 。
用not exists 查詢即可。
⑥ oracle,表名放在一個資料庫裡面(如表1),怎麼把表名拿出來,進行自動統計。
select * from user_tables 列出用戶下所有表
select * from dba_tables 列出所有表
如果有限個用戶 就 select * from dba_tables where owner in ('用戶1','用戶2'....)
計數就 select count(1) from user_tables 或者
select count(1) from dba_tables where owner in ('用戶1','用戶2'....)
⑦ 用SQL語句查詢出數據表中的欄位名以及注釋(Oracle)
我也不知道 一起等高手的回答把
⑧ oracle怎麼給表的列加註釋
Oracle添加註釋的語法為:
commentoncolumn欄位名is'注釋名';
舉例:
創建表:
CREATETABLEt1(
idvarchar2(32)primarykey,
nameVARCHAR2(8)NOTNULL,
agenumber,
);
添加表注釋:
COMMENTONtablet1IS'個人信息';
添加欄位注釋:
commentoncolumnt1.idis'id';
commentoncolumnt1.nameis'姓名';
commentoncolumnt1.ageis'年齡';
⑨ oracle 查詢表 列名顯示注釋
有一個不是辦法的辦法,利用注釋和子查詢,我不確定能不能用,只是想到了。
你可以實驗一下,如果子查詢得到的唯一結果能夠被當做別名賦予欄位,那麼這個辦法可以實現,否則你只能另想辦法了。
舉例
select name (select comment from user_col_comments where table_name='AA' AND column_name='NAME') FROM AA
其中子查詢select comment from user_col_comments where table_name='AA' AND column_name='NAME' 的結果唯一,如果這個唯一的結果成為name的別名,那麼就能顯示中文。
暫時我還沒有想到其他辦法。
如果讓中英文都出現只要加上||,我想這個應該可以實現。
⑩ oracle資料庫 表的注釋如何在程序中取得
1.select * from user_col_comments where table_name='表名'
2.select * from USER_TAB_COMMENTS where table_name='表名'
第一個是查欄位注釋,第二個是查表的注釋,表名需要大寫