c# 对于批量表的统一查询 WM_CONCAT行列转换行数


                //需要显示的列
                sql = string.Format(@"
                                      SELECT  WM_CONCAT(COL.COLUMN_NAME)
                                      FROM USER_TAB_COLS COL
                                     WHERE COL.TABLE_NAME = '{0}'
                                    ", fromTable);
                string col = "" + dac.ExecuteScalar(CommandType.Text, sql);
                //获取已导入的数据
                sql = string.Format(@"SELECT {2}
                                        FROM {0}
                                       WHERE SUBSTR(SRQ, 1, 5) || CASE INSTR(SUBSTR(SRQ, 6, 2), '-')
                                               WHEN 2 THEN
                                                '0' || REPLACE(SUBSTR(SRQ, 6, 2), '-', '')
                                               ELSE
                                                SUBSTR(SRQ, 6, 2)
                                             END = '{1}'
                                       ORDER BY TO_NUMBER(SBH, '999999')", toTable, periodCode, col
                                                    );

                DataTable dt = dac.ExecuteDataTable(sql);

posted @ 2015-11-19 17:18  银杏叶儿  Views(398)  Comments(0Edit  收藏  举报