首先,我交代一下使用环境,我使用的数据是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如下:
<span style="white-space:pre"> </span>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}'
(2)业务实现:
sql生成器的功能,数据库连接设置,需要输入数据库用户名、密码和数据源;查询表字段,显示到datagridview上;可以选择字段,生成sql。查询语句select和更新语句update还需要条件功能。当前条件能够还是不够完善,查询语句,我们可以生成主要的部分,条件语句手写。如下图所示:
(3)生成sql语句
我没有在界面显示生成的sql语句,而是通过写txt文件。这个功能需要注意的就是sql的语法问题,insert、update要区分字符、数字或者日期类型。txt的生成是通过Logo日志类来实现。
(4)下载地址
版权声明:本文为博主原创文章,未经博主允许不得转载。