oracle中利用資料字典生成程式碼
--注意表名用相應表名去替換下面的表名都為oper_log
--fb/vo 屬性
column properties format a256;
select 'private String '||LOWER(A.COLUMN_NAME)||';//'||B.COMMENTS properties FROM user_tab_cols A,user_col_comments B
WHERE A.TABLE_NAME=B.TABLE_NAME AND LOWER(A.TABLE_NAME)='oper_log'
and a.COLUMN_NAME=b.COLUMN_NAME
;
--生成sql語句
--注意Sys_Connect_By_Path引數的欄位中有','時不能用','去分隔,改為用'@@',然後再替換為','
--用Sys_Connect_By_Path(COLUMN_NAME, ',')時將行轉換成列時,每一行都加',',所以第一個要去掉用substr(str,2)
--對日期型的格式為'yyyy-mm-dd hh:MI:ss',可自己替換
column s format a200;
Select replace('SELECT '||substr(Sys_Connect_By_Path(COLUMN_NAME, ','),2)||' FROM '||table_name||' WHERE 1=1','@@',',') S
From (
SELECT Rownum Rid,
DECODE(A.DATA_TYPE,'DATE',
'TO_CHAR('||A.COLUMN_NAME||'@@'||CHR(39)||'yyyy-mm-dd hh:MI:ss'||CHR(39)||') '||A.COLUMN_NAME,
A.COLUMN_NAME) COLUMN_NAME,TABLE_NAME
FROM USER_TAB_COLS A
WHERE A.TABLE_NAME='OPER_LOG'
)
Where Rid =
(
Select Count(*) FROM USER_TAB_COLS A
WHERE A.TABLE_NAME='OPER_LOG'
)
start With Rid = 1
Connect By Prior Rid+1 = Rid
;
--也可以寫成以下這種
column s format a200;
--注意Sys_Connect_By_Path引數的欄位中有','時不能直接用','去分隔,改為用' , '
Select 'SELECT '||substr(Sys_Connect_By_Path(COLUMN_NAME, ' , '),4)||' FROM '||table_name||' WHERE 1=1' S
From (
SELECT Rownum Rid,
DECODE(A.DATA_TYPE,'DATE',
'TO_CHAR('||A.COLUMN_NAME||','||CHR(39)||'yyyy-mm-dd hh:MI:ss'||CHR(39)||') '||A.COLUMN_NAME,
A.COLUMN_NAME) COLUMN_NAME,TABLE_NAME
FROM USER_TAB_COLS A
WHERE A.TABLE_NAME='OPER_LOG'
)
Where Rid =
(
Select Count(*) FROM USER_TAB_COLS A
WHERE A.TABLE_NAME='OPER_LOG'
)
start With Rid = 1
Connect By Prior Rid+1 = Rid
;
--vo設定生成值
--oracle中的initcap與java裡的有點區別
--oracle裡如user_id用initcap取的是User_Id而java裡的是User_id,注意有下劃線的要手動修改
column s format a200;
SELECT 'vo.set'||initcap(A.COLUMN_NAME)||'(dset.getString("'||A.COLUMN_NAME||'"));' s
FROM USER_TAB_COLS A
WHERE lower(A.TABLE_NAME)='oper_log'
;[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11419868/viewspace-1012078/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 生成oracle資料字典Oracle
- 如何利用showdoc自動生成資料字典
- mssql生成資料庫字典指令碼-MarkDownSQL資料庫指令碼
- navicat生成mysql資料字典MySql
- Oracle中的資料字典技術及常用資料字典總結Oracle
- oracle 資料字典Oracle
- Oracle 資料字典和資料字典檢視Oracle
- lavavel 自動生成資料字典
- Oracle常用資料字典Oracle
- oracle 資料字典(轉)Oracle
- Oracle資料字典 (轉)Oracle
- Oracle 資料字典 (轉)Oracle
- Oracle的資料字典Oracle
- 用Python生成MySql資料字典PythonMySql
- 工作中 Oracle 常用資料字典集錦Oracle
- Win10電腦利用oracle生成新建資料庫指令碼的方法Win10Oracle資料庫指令碼
- oracle常用的資料字典Oracle
- Oracle 資料字典學習Oracle
- Oracle 資料字典大全 ZTOracle
- Oracle常用資料字典表Oracle
- oracle資料字典簡介Oracle
- 瞭解Oracle資料字典Oracle
- 巧用Oracle Discoverer中的資料字典檢查joinOracle
- SQL Server中Table字典資料的查詢SQL示例程式碼SQLServer
- oracle資料庫資料字典應用Oracle資料庫
- 程式碼生成器,自適應mysql、oracle資料庫MySqlOracle資料庫
- oracle常用資料字典.檢視Oracle
- oracle結構梳理---資料字典Oracle
- ORACLE常用資料字典介紹Oracle
- oracle 資料字典關係圖Oracle
- Oracle的4類資料字典Oracle
- 深入瞭解Oracle資料字典Oracle
- oracle實驗記錄 (oracle 資料字典)Oracle
- 【工作效率】程式碼生成器,mysql、oracle雙資料庫MySqlOracle資料庫
- 利用mybatis-generator自動生成程式碼MyBatis
- Spring Boot專案利用MyBatis Generator進行資料層程式碼自動生成Spring BootMyBatis
- 資料字典生成工具及文件工具作用介紹
- 什麼是Oracle的資料字典?Oracle