Kettle Sql Server插入语句和执行语句生成方法
来源:互联网 发布:python的strip函数 编辑:程序博客网 时间:2024/06/06 00:00
declare @tableName varchar(50)set @tableName='Shop_Product'declare @colName varchar(50),@typeName varchar(30),@isnull int,@order intdeclare @query varchar(4000),@where varchar(100),@cols varchar(4000),@paras varchar(4000)declare @insert varchar(4000)select @query = 'SELECT '+char(13)+char(10),@cols = '',@paras='',@where=''declare cur cursor for SELECT col.name as ColName,st.name typeName,col.isnullable,col.colid FROM syscolumns col join systypes st on col.xusertype = st.xusertypeWHERE col.id = object_id(@tableName)open curfetch next from cur into @colName,@typeName,@isnull,@orderwhile @@FETCH_STATUS = 0begin IF @order > 1beginSELECT @query=@query + ',',@cols=@cols + ',',@paras=@paras + ','endif @colName in ('AgentId','AgenID') begin set @where=' WHERE '+@colName+'=''%%AgentId%%'''endSELECT @cols=@cols + @colName,@paras=@paras + '?' IF @isnull = 0BEGINif @typeName = 'datetime'begin set @query= @query + 'Convert(Varchar(20),'+@colName+',120) '+@colName+char(13)+char(10)endelse if @typeName = 'bit'begin --Y or N 无法识别 set @query= @query + 'Convert(tinyint,'+@colName+') '+@colName+char(13)+char(10)endelsebegin set @query=@query + @colName+char(13)+char(10)endENDelsebegin if @typeName='datetime' begin set @query= @query + 'ISNULL(Convert(Varchar(20),'+@colName+',120),'''') '+@colName+char(13)+char(10)endelse if @typeName='bit' begin set @query= @query + 'ISNULL(Convert(tinyint,'+@colName+'),0) '+@colName+char(13)+char(10)endelse if @typeName in ('int','tinyint','decimal','bigint','real','float','money','numeric','smallint','smallint')begin set @query= @query + 'ISNULL('+@colName+',0) '+@colName+char(13)+char(10)endelse if @typeName='uniqueidentifier'begin set @query= @query + 'ISNULL('+@colName+',''00000000-0000-0000-0000-000000000000'') '+@colName+char(13)+char(10)endelsebegin set @query= @query + 'ISNULL('+@colName+','''') '+@colName+char(13)+char(10)endend fetch next from cur into @colName,@typeName,@isnull,@orderendSELECT @query= @query+' FROM '+@tableName +' with(nolock)'+@whereclose curdeallocate curset @insert = ''--有标识列if OBJECTPROPERTY(OBJECT_ID(@tableName),'TableHasIdentity')= 1begin set @insert = @insert+'SET IDENTITY_INSERT '+@tableName+' ON '+char(13)+char(10)endset @insert = @insert+'INSERT INTO '+@tableName+'('+@cols+')'+char(13)+char(10)set @insert = @insert+'VALUES('+@paras+')'select @query query,@insert insrt
阅读全文
0 0
- Kettle Sql Server插入语句和执行语句生成方法
- kettle中执行sql语句
- PL/SQL developer快速生成插入语句和查询语句
- sql server中表数据生成批量insert into 插入语句
- 三.Sql server 插入语句
- Sql Server 循环语句插入
- kettle创建数据库资源库,执行SQL语句有两条执行失败
- kettle创建数据库资源库,执行SQL语句有两条执行失败
- 1次插入多条记录的方法(SQL语句,在MS SQL Server 2000查询分析器中执行成功)
- SQL SERVER 执行语句记录
- 查看Sql Server语句执行效率,时间的方法
- 执行动态生成的SQL语句的方法
- sql 存储过程生成sql 插入语句
- SQL Server定时执行SQL语句
- SQL Server定时执行SQL语句
- 脚本执行SQL语句 sql server
- SQL Server 2005 定时执行SQL语句
- SQL Server 2000定时执行SQL语句
- NOI2014 魔法森林
- 设计模式-门面模式-facade-python
- 基于开源SuperSocket实现客户端和服务端通信项目实战
- java 遍历arrayList的四种方法
- 数据结构与算法学习笔记之--数据结构
- Kettle Sql Server插入语句和执行语句生成方法
- (一)OpenCV3.3.0安装配置(opencv3.3.0+VS2015社区版+64位win7)(转)
- 简单的js网页应用(事件与事件处理的响应)
- hdu2018:Shape of HDU
- ACM第二次比赛题目及标准程序(基础水题)
- CodeForces450B Jzzhu and Sequences (矩阵快速幂)
- canal简介
- Hbase底层数据结构
- hdu-6098-Inversion