接上篇http://blog.csdn.net/panliuwen/article/details/47406455 sql生成器--生成含注释的sql语句
今天我使用自己写的sql生成器了,自我感觉还不错,可以把字段的注释写到sql上面了。可是还存在一些问题:
1、字段没有排序;2、update语句多了一个set;3、select语句第一行字段没有添加“,”分隔,出现语法错误;4、处理select么有全选出现的错误
针对以上问题,我的处理如下:
1、字段没有排序
增加order by语句,order by column_id,完整的sql语句如下所示:
[sql] view plaincopyprint?
- select tc.column_name as column_name,
- tc.data_type as data_type,
- tc.data_length as data_length,
- cc.comments as comments
- from user_tab_columns tc, user_col_comments cc
- where tc.table_name = cc.table_name
- and tc.column_name = cc.column_name
- and tc.table_name = ‘{0}‘
- order by tc.column_id
select tc.column_name as column_name, tc.data_type as data_type, tc.data_length as data_length, cc.comments as comments from user_tab_columns tc, user_col_comments cc where tc.table_name = cc.table_name and tc.column_name = cc.column_name and tc.table_name = '{0}' order by tc.column_id
2、update语句多了一个set
直接删除多余的set
3、select语句第一行字段没有添加“,”分隔,出现语法错误
首行增加“,”
经过修正之后,写的sql基本没有问题了,我贴一条自己生成的sql,如下所示:
[sql] view plaincopyprint?
- select patient_id,--人口主索引
- health_record_code,--居民健康档案
- health_card_id,--居民健康卡
- name,--姓名
- sex,--性别代码
- from gxwst_patient_baseinfo
- where patient_id = ‘1234567‘
select patient_id,--人口主索引 health_record_code,--居民健康档案 health_card_id,--居民健康卡 name,--姓名 sex,--性别代码 from gxwst_patient_baseinfo where patient_id = '1234567'
4、处理没有全选字段,最后一个字段含有“,”的问题
增加计数器判断
5、贴上修正后的资源
http://download.csdn.net/detail/panliuwen/8993531
总结一下这个程序,还是有很多不完善的地方,比如只是能够识别数据类型DATE、VARCHAR2和NUMBER,没有办法实现关联查询。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-03 13:20:20