| 首先,我交代一下使用环境,我使用的数据是oracle,使用pl/sql dev开发sql语句。在pl/sql dev上面,短sql是比较好实现的,但是要写长sql的时候就很麻烦了,先写好sql,然后一条一条增加注释,增加注释这一步效率真的很低。很久之前碰到写长sql的时候,就已经产生了要实现一个自动生成含有注释的sql小工具,只是可惜一直都没有动手。 最近我要开发一个新的模块,需要写一些简单的sql,比如插入、查询和更新语句。借着最近要开发模块的干劲,我就写一个sql生成器。sql生成器的功能就是自动生成插入、查询和更新的sql语句,语句字段必须包含注释。写过sql的都知道,注释需要一个一个的复制粘贴或者打字,这样效率很低,也容易出错。我的sql生成器可以避免这个问题。 sql生成器的实现过程。 (1)数据存取: oracle数据有自带的视图包含表的字段和字段注释,我们需要关联视图user_tab_columns和user_col_comments,只需要选取字段名称、数据类型、精度和注释四个字段就可以了,表名作为条件参数。详细的sql如下:   
(2)业务实现:
| 1 2 3 4 5 6 7 8 | 
<span style="white-space:pre">              </span>selecttc.column_name ascolumn_name,
                                        tc.data_type asdata_type,
                                        tc.data_length asdata_length,
                                        cc.comments ascomments
                                   fromuser_tab_columns tc, user_col_comments cc
                                  wheretc.table_name = cc.table_name
                                    andtc.column_name = cc.column_name
                                    andtc.table_name = '{0}'
 |    sql生成器的功能,数据库连接设置,需要输入数据库用户名、密码和数据源;查询表字段,显示到datagridview上;可以选择字段,生成sql。查询语句select和更新语句update还需要条件功能。当前条件能够还是不够完善,查询语句,我们可以生成主要的部分,条件语句手写。如下图所示: 
 (3)生成sql语句 我没有在界面显示生成的sql语句,而是通过写txt文件。这个功能需要注意的就是sql的语法问题,insert、update要区分字符、数字或者日期类型。txt的生成是通过Logo日志类来实现。 |