達夢データベースのSQLクエリーと基本CRUD、大フィールド回転json異常処理先取値

2619 ワード

1.メタデータ・テーブル構造の問合せ文:

--        ,     ZFW_WW      owner

select * from all_tables;

select *  from all_tables where owner='ZFW_WW';

--         ,     ZFW_WW       owner

select * from all_views;

select * from all_views where owner='ZFW_WW';

--            

select *  from user_tables;

--              

select * from user_tab_columns where table_name='T_GZGL_DW';

--              

select * from all_tab_columns where Table_Name='T_GZGL_DW' ;

--                

select * from user_tab_comments;

--          ZFW_WW          

select * from all_tab_comments where owner='ZFW_WW' ;

--                 

select * from user_col_comments where table_name='T_GZGL_DW';

--                 

select * from all_col_comments where table_name='T_GZGL_DW';

--               

select  t1.column_name,t1.data_type,t1.data_length,t2.comments 
from all_tab_columns t1 
left join user_col_comments t2 
on  (t1.table_name= t2.table_name and t1.column_name= t2.column_name) 
where t1.table_name='T_GZGL_DW'
and t2.table_name='T_GZGL_DW'
and t1.owner='ZFW_WW' 
and t2.owner='ZFW_WW'

--            

select * from user_cons_columns where Table_Name='T_GZGL_DW';

2.添削訂正の文
  • クエリが返すデフォルトのフィールド名とデータベース内のフィールド名は、大文字と小文字が一致する
  • を維持します.
  • クエリ文のフィールド名の大文字と小文字は、フィールド名を返す大文字と小文字であり、あなたが書いたSQLの大文字と小文字は大文字であり、逆に小文字は小文字である.
  • -- 
     select * from ZFW_WW.T_GZGL_DW where ...
    -- 
     delete from ZFW_WW.T_GZGL_DW where ...
    -- 
     insert into ZFW_WW.T_GZGL_DW (WW_XH, WW_MC) values('','')
    -- 
     update ZFW_WW.T_GZGL_DW set WW_XH = ''
    
    --    
    update zfw_ww.t_qbsj_qb t1 
    set t1.WW_LCZT=t2.WW_LCZT  
    from zfw_ww.t_qbsj_yjdb t1,zfw_ww.t_open_lc t2 
    where t1.WW_XH=t2.WW_XXID 

    3.ダモンデータベースの大きいフィールドの読み取り
  • mapで返すオブジェクト(大きなフィールドを含む)はjson
  • に直接回転できないことに注意する.
    import com.alibaba.druid.proxy.jdbc.ClobProxyImpl;
    
    
    public static void setTextVal(Map row) {
            for (Map.Entry entry : row.entrySet()) {
                if (entry.getValue() instanceof ClobProxyImpl){
                    try {
                        ClobProxyImpl dmdbClob = (ClobProxyImpl) entry.getValue();
                        String value = dmdbClob.getSubString(1, (int) dmdbClob.length());
                        row.put(entry.getKey(),value);
                    } catch (SQLException e) {
                        log.error("         :{}", Throwables.getStackTraceAsString(e));
                    }
                }
            }
        }