ITPub博客

首页 > 数据库 > 数据库开发技术 > plsql自动生成java源码

plsql自动生成java源码

原创 数据库开发技术 作者:zgy13121 时间:2008-09-25 12:59:39 0 删除 编辑
plsql自动生成java源码[@more@]--注意表名用相应表名去替换下面的表名都为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' ;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11419868/viewspace-1011015/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle数值精度
请登录后发表评论 登录
全部评论

注册时间:2008-09-27

  • 博文量
    58
  • 访问量
    245378