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的自由(开源)项目中使用 ...
随机推荐
- mybatis常用语句
<trim>标签中,prefix 前缀,suffix后缀, suffixOverrides语句最后如果有指定符号,则去除此符号, prefixOverrides语句最前面如果有指定符号,则 ...
- PHP扩展开发(1)-创建基础框架
生成PHP扩展开发的基础框架. 一.Linux下 $>cd ~/{php源码}/ext $>./ext_skel --extname=simple Creating direc ...
- C#关于等待窗体(转)
c#.net 中如果想在主窗口A里点击打开新窗口B(因为要数据库操作,Bload需一小段时间)之前弹出带有滚动条等待子窗口C来提示用户没有死机,应该怎么做?我用多线程打开了c窗口,但是问题:1.C窗口 ...
- 怎样使用pyinstaller打包
安装好pyinstaller后 cd 到pyinstaller.py目录,在命令行输入:python pyinstaller.py 参数 主文件所在目录 如:python pyinstaller.py ...
- 关于lambda表达式树
总而言之: 就是在表达式中没有花括号. IEnumerable<Rect> rectlist3 = rectlist.Select(rect =>newRect(rect.X + 2 ...
- IIC 概述之用IO模拟
最近做的一个项目,是基于IIC总线通信的传感器系统.由于另外一个传感器使用的是类IIC协议,而不是标准IIC,所以MCU不能与其通信,最后没有办法,只有通过I/O口模拟的方式实现IIC的总线通信.具体 ...
- VC中如何获取当前时间(精度达到毫秒级)
标 题: VC中如何获取当前时间(精度达到毫秒级)作 者: 0xFFFFCCCC时 间: 2013-06-24链 接: http://www.cnblogs.com/Y4ng/p/Millisecon ...
- Android学习笔记--Menu菜单的使用
实现选项菜单.上下文菜单,以及菜单内部的子菜单. 视图效果: MainActivity 选项菜单 选项菜单的子菜单 上下文菜单(按住按钮或者EditText弹出) 注意:上下文菜单如何弹出?在注册该菜 ...
- laravel实现发送qq邮件
首先修改config/mail.php 'from' => [ 'address' => 'hello@example.com', 'name' => 'Example', ], 修 ...
- MFC消息映射与命令传递
题外话:刚开始学视窗程序设计的时候,我就打印了一本Windows消息详解,里面列举了各种已定义消息的意义和作用,共10多页,在编程的时候翻翻,有时觉得很受用.我发觉很多编程的朋友,虽然每天都面对消息, ...