sql语句生成sql脚本

sql语句有一种特别的用法,相信很多人还不知道,我也是后来学到的,因此拿来跟大家分享下:生成sql脚本

举个例子:

select 1 from student;

如果表中有数据的话,你就会发现查询的结果会是:

根据这个原理,我们可以用来生成sql脚本,以下就是实例:

实例1:一个简单的例子

select * from Popedom

select 'insert intoPopedom(id,popedom_name,popedom_value) values

('+cast(id as varchar(10))+',''' +popedom_name + ''',

''' + popedom_value+ ''')' FROM Popedom

insert intoPopedom(id,popedom_name,popedom_value) values  (1,'电厂一览',  'PRIV_ELECTINFO')

insert intoPopedom(id,popedom_name,popedom_value) values  (2,'概算信息',  'PRIV_BUDGET')

insert intoPopedom(id,popedom_name,popedom_value) values  (3,'合同信息',  'PRIV_CONTRACT')

insert intoPopedom(id,popedom_name,popedom_value) values  (4,'投资信息',  'PRIV_INVESTMENT')

insert intoPopedom(id,popedom_name,popedom_value) values  (5,'进度信息',  'PRIV_PROCESS')

insert intoPopedom(id,popedom_name,popedom_value) values  (6,'安全信息',  'PRIV_SAFETY')

insert intoPopedom(id,popedom_name,popedom_value) values  (7,'日常工作分配',  'PRIV_SETUP')

insert intoPopedom(id,popedom_name,popedom_value) values  (8,'日常工作浏览',  'PRIV_AWAKE')

insert intoPopedom(id,popedom_name,popedom_value) values  (9,'日常工作录入',  'PRIV_TASK')

insert intoPopedom(id,popedom_name,popedom_value) values  (10,'提醒基本信息设置',  'PRIV_BASE')

insert intoPopedom(id,popedom_name,popedom_value) values  (11,'个人信息设置',  'PRIV_PERSON')

insert intoPopedom(id,popedom_name,popedom_value) values  (12,'超级管理员',  'PRIV_ADMIN')

insert intoPopedom(id,popedom_name,popedom_value) values  (13,'设计信息',  'PRIV_DESIGN')

insert intoPopedom(id,popedom_name,popedom_value) values  (14,'质量信息',  'PRIV_QUALITY')

insert intoPopedom(id,popedom_name,popedom_value) values  (15,'日常工作汇报',  'PRIV_REPORT')

insert intoPopedom(id,popedom_name,popedom_value) values  (16,'日常工作审核',  'PRIV_CHECK')

insert intoPopedom(id,popedom_name,popedom_value) values  (17,'电厂信息录入',  'PRIV_ElECTINFO')

insert intoPopedom(id,popedom_name,popedom_value) values  (18,'设计信息录入',  'PRIV_DESIGNINFO') 

实例2:相对复杂一点的例子

SELECT 'INSERT INTOPrevise(PreviseID,PreviseDate,PreviseInfo) VALUES

('+cast(PreviseID as varchar(10))+',''' +CONVERT(varchar(19), PreviseDate, 121) + ''',

''' + PreviseInfo + ''')' FROM PreviseWHERE PreviseID > 100 

相关推荐
一、简介 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脚本
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页