mysql to sql sersver
USE SCK_PARA
GO
/****** Object: StoredProcedure [dbo].[syncdata_mysql2sqlserver] Script Date: 08/19/2015 13:26:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,> -- Description: <Description,,>
-- ============================================= ALTER PROCEDURE [dbo].[syncdata_mysql2sqlserver]
CREATE PROCEDURE [dbo].[syncdata_mysql2sqlserver]
AS
declare @sql nvarchar(4000);
declare @sql2 nvarchar(4000);
declare @sql3 nvarchar(4000);
declare @columns nvarchar(4000);
declare @columns2 nvarchar(4000);
declare @identity int;
BEGIN --声明一个游标,查询数据库的所有表名
declare tableNameCursor cursor for SELECT name FROM SysObjects Where XType='U' ORDER BY Name
--打开
open tableNameCursor
--声明一个变量,用于读取游标中的值
declare @tableName varchar(200)
fetch next from tableNameCursor into @tableName --循环读取
while @@fetch_status=0
begin
--开启显示插入标识值的sql
set @sql2 = 'set IDENTITY_INSERT '+@tableName+' ON'; --关闭显示插入标识值的sql
set @sql3 = 'set IDENTITY_INSERT '+@tableName+' OFF'; --查询出该表包含的字段名并拼接
select @columns = stuff((select ',"'+COLUMN_NAME+'"'
from INFORMATION_SCHEMA.columns
WHERE TABLE_NAME=@tableName order by ORDINAL_POSITION
for xml path('')),1,1,'')
select @columns2 = stuff((select ','+COLUMN_NAME
from INFORMATION_SCHEMA.columns
WHERE TABLE_NAME=@tableName
order by ORDINAL_POSITION
for xml path('')),1,1,'')
Select @identity=OBJECTPROPERTY(OBJECT_ID(@tableName),'TableHasIdentity')
print @tableName
--有标识列
if @identity=1
begin
set @sql = @sql2 +' insert into '+ @tableName +'('+@columns+') select * from OPENQUERY (MySQL ,''select '+@columns2+' from '+ @tableName+''' )';
exec(@sql)
exec(@sql3)
end
--没有标识列
else
begin
set @sql = ' insert into '+ @tableName +'('+@columns+') select * from
OPENQUERY (MySQL ,''select * from '+ @tableName+''' )';
exec(@sql)
end
fetch next from tableNameCursor into @tableName
end
close tableNameCursor --关闭游标
deallocate tableNameCursor --删除游标
END
mysql to sql sersver的更多相关文章
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- PHP+MYSQL网站SQL Injection攻防
程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程:他们会先尝试着让程序报 ...
- 【转】MySQL批量SQL插入各种性能优化
原文:http://mp.weixin.qq.com/s?__biz=MzA5MzY4NTQwMA==&mid=403182899&idx=1&sn=74edf28b0bd29 ...
- Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- MySQL数据库sql语句的一些简单优化
1.查询条件的先后顺序 有多个查询条件时,要把效率高能更精确筛选记录的条件放在后边.因为MySQL解析sql语句是从后往前的(不知是否准确). 例: select a.*,b.* from UsrIn ...
- HP+MYSQL网站SQL Injection攻防
WebjxCom提示:程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程: ...
- MySQL与SQL比较有那些区别呢
MySQL是一个逐渐完善的过程,使用前期版本时会遇到一些问题,通常搞得莫名其妙,在版本选择上尽量选择最新的. 1.在5.03以前版本中,存储varchar型数据时,后面的空格会被忽视掉,前面的空格会保 ...
- mysql下sql语句 update 字段=字段+字符串
mysql下sql语句 update 字段=字段+字符串 mysql下sql语句令某字段值等于原值加上一个字符串 update 表明 SET 字段= 'feifei' || 字段; (postgr ...
- Oracle、MySql、Sql Server比对
1. 价格 MySql:廉价(部分免费):当前,MySQL採用双重授权(DualLicensed),他们是GPL和MySQLAB制定的商业许可协议.假设你在一个遵循GPL的自由(开源)项目中使用 ...
随机推荐
- spark原理介绍
1.spark是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速.因此运行spark的机器应该尽量的大内存,如96G以上. 2.spark所有操作均基于RDD,操作主要分成2大类:tra ...
- 在Web开发方面Java跟PHp八大对比
在Web开发方面Java跟PHp八大对比 <本文摘自百度经验,用来简单对比一下这两种语言> 一. 语言比较 PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点.语法和c语言比 ...
- ECSTORE2.0 下载 (变量标签)
条目 用途 备注 coupon.mc.use_times 优惠券可用次数 - security.guest.enabled 是否支持非会员购物 - site.version version的最后修改时 ...
- Flask学习记录之Flask-Mail
Flask-Mail可以连接到配置中的SMTP服务器,进行邮件发送,如果没有进行SMTP服务器的配置,将会默认连接到localhost上的 一.配置及初始化 (1)flask应用配置 #配置选项 MA ...
- setf
independent flags boolalpha read/write bool elements as alphabetic strings (true and false). showbas ...
- .NET MVC权限控制
一.模块 权限控制的主体单位,与MVC里的Cotroller相对应. 二.模块权限 权限控制的最小单位,通过给每一个模块设置权限,可以控制到非常细小的功能. 三.角色 权限拥有者,通过给不同的角色分配 ...
- Express4 Route笔记
可以参考Express官网关于路由一节:http://expressjs.com/guide/routing.html 1:通过使用GET.POST方式定义主页路由,app.js: var expre ...
- 【操作系统】进程间通信(C#)
原文:[操作系统]进程间通信(C#) 08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活.此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xia ...
- asp.net 管道模型+生命处理周期
http://www.cnblogs.com/qianlifeng/archive/2010/12/16/1908568.html https://msdn.microsoft.com/zh-cn/l ...
- android 通过shape设置圆形按钮
Android中常常使用shape来定义控件的一些显示属性来美化UI: shape的常用属性有: (1)solid:填充,设置填充的颜色: (2)stroke:描边,设置边界的宽度.颜色等: (3)c ...