批量生成sql 语句小工具

这是一个简单的网页工具,用于批量生成SQL插入语句,尤其适用于枚举类型的数据库填充工作。用户只需输入表名、序列名称等参数,并提供枚举的code及name,即可一键生成所需的SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

批量生成sql 语句小工具
虽说后台代码可以实现,但是还得搭环境,不方便使用。
代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文本编辑工具</title>
<!-- 开发时间2017.12.22 -->
</head>
<style>
.textarea {
    width: 100%;
    height: 100%;
}
</style>
<body>
    <h4>批量生成sql语句(枚举脚本)</h4>
    <div>
        表名:<input id="tableName" name="tableName"> 
        <br /> 
        序列名称:<input id="sequenceName" name="sequenceName"> 
        <br /> 
        状态:<input id="status" name="status">
        <br />
        枚举类型:<input id="enumType" name="enum">
        <br /> 
         枚举code及name(格式 corde,name):
         <br /> 
        <textarea class="textarea" id="enumCodeAndName"></textarea>
    </div>

    <div>
        <button id="button" onclick="printContent()">点击生成</button>
    </div>
    <div id="Print" style="display: none;">
        输出:
        <div id="PrintContent"></div>
    </div>
</body>


<script>
    function printContent() {
        var tableName = document.getElementById("tableName").value;
        var sequenceName = document.getElementById("sequenceName").value;
        var status = document.getElementById("status").value;
        var enumType = document.getElementById("enumType").value;
        var enumCodeAndName = document.getElementById("enumCodeAndName").value;
        //获取  文本域  根据换行切割成数组 ,根据行数 生成对应的sql语句
        var strs= new Array(); //定义一数组 
        strs =enumCodeAndName.split("\n");
        var rows = strs.length;
        var pringtStr = "";
        for (var int = 0; int < rows; int++) {
            var enumCode = strs[int].split(",")[0];
            var enumName = strs[int].split(",")[1];
            var subPringtStr = "insert into " +tableName +"(id,code,name,Type,status) values ("+
                sequenceName+".nextval,'"+enumCode+"','"+enumName+"','"+enumType+"','"+status+"');"
            if(rows==1){
                pringtStr = subPringtStr;
            }else{
                pringtStr += subPringtStr +"<br/>";
            }


        }
        document.getElementById("PrintContent").innerHTML = pringtStr;
        console.log(enumType);
        console.log(enumCodeAndName);
        document.getElementById('Print').style.display = 'block';
    }
</script>


</html>
一、简介 1.1前言 1、由于最近工作一直用Oracle,故对Oracle数据库研究为对象。 2、根据工作业务需求实际情况进行功能研发。为什么要开发呢?因为在数据库升级或者迁移的时候,为了保证不同环境不同数据库数据保持同步,故数据库SQL脚本非常作用。比如:数据库主脚本,副脚本,增量脚本。 3、 什么是主脚本、副脚本、增量脚本呢? 3.1、主脚本指数据库表或存储过程,视图脚本,序列等脚本。 3.2、副脚本指必须执行主脚本之后才执行的脚本。换句话说在没执行主键脚本的情况下,副脚本执行之后会回滚事务失败。 3.3、增量脚本指在执行主脚本或副脚本之后,根据需求对某个表添加/修改约束(主外键约束,长度约束等),添加/修改字段/添加数据等情况对数据库结构改变处理的一种行为脚本。 1.2作用 1、 快速产出自定义规则需要的SQL脚本。 2、减少人工编写SQL脚本出错率问题,完全通过程序检测SQL准确性。 3、帮助开发人员提高SQL编写效率,减少人工编写SQL开发成本问题。 4、帮助开发人员节约时间,同时避免繁琐不必要编写SQL的工作。 二、实现方式与原理 2.1实现方式 1、实现方式分:正向与逆向实现。什么是正向与逆行呢【是否有鸡还是有蛋,先后道理同等】 2、正向方式:首先把设计好数据库表文档,把所有表的字段属性配置到EXCEL或者CSV格式的文件通过JXL/POI技术去读取文件的字段,再通过其他技术一系列程序处理之后生成所需要的SQL脚本。 3、逆向方式:首先有数据库表,然后通过ORM持久化技术连接数据库再读取表的字段等属性出来,再通过其他技术一系列程序处理之后生成所需要的SQL脚本。 2.2原理 对数据库软件内置核心表或视图查询出来存储用户行为表结构所有属性信息,对此属性结构信息进行分析与组装所需要SQL脚本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值