标签:c# sql
接上篇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语句如下所示:
- 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,如下所示:
- 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,没有办法实现关联查询。
版权声明:本文为博主原创文章,未经博主允许不得转载。
sql生成器问题修复版
标签:c# sql
原文地址:http://blog.csdn.net/panliuwen/article/details/47438229