原文:http://www.cnblogs.com/andrew-blog/archive/2011/12/03/SQL_mss2sql.html#3242272

工具:http://files.cnblogs.com/files/newsea/mss2sql.rar

能把表,数据导过去。MySql挺狠的。

视图,函数,存储过程,导不过去。

另外,MySql不支持匿名块,批量操作,声明变量,只能写到存储过程或函数。

MsSql => MySql

1. 去除[dbo].   去除  空格dbo.

2. [] =》 ``

3. 去除@, MySql定义变量不用@, 但是可以不定义变量直接使用@变量

4. if 格式更拘束, end if 后面必须加;

5. 自定义函数或自定义存储过程前添加: delimiter $$

6. 函数和存储过程 定义头部去除 as

7. 函数中 declare 必须定义到最前面。 且 declare 没有 as

8. cast 函数

  Cast(xxx as int) 会出错,=》 cast( xxx as signed)  或 cast( xxx as unsigned) ;

  cast(xxx as varchar(30)) 会出错 ,=》 cast(xxx as char(30));

9. 数据类型及系统函数: getdate() => now() , top 1 => limit 0,1

10. 即使没有参数,可不能省略 ()

11. proc =》 procedure

12. exec  p c1,c2 => call  p(c1,c2)

13. 动态执行SQL:

  不能用nvarchar,

declare sqlStr varchar() ;

set sqlStr = '很长的SQL';

set @sqlStr = replace(sqlStr,'{CorpID}', CorpID ) ;

prepare smt from @sqlStr ;
execute smt ;
DEALLOCATE PREPARE smt;

第三行。 一定要定义一个临时变量才能被 prepare ,我用了 @sqlStr , 它不是 sqlStr.

14. select 给变量赋值 : select @id = Id,@name= name from tab where Id=1 ; => select Id,Name into id,name  from tab where Id = 1 ;

15. 退出存储过程的方法 :没有 return , exit,quit 之类的。

  在定义存储过程头部 begin 前添加标签 :  bn: begin   ,在需要退出的地方,执行: leave bn;

16.避免变量名和列名重名。

delimiter $$
create procedure atest(Id int)
begin
select * from S_City where Id = Id ;
end;
$$ call atest( 3) ;

并不会返回 Id 为3 的记录。

17.

SqlServer=>MySql的更多相关文章

  1. 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录

    从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO ,NAME ) DEFAULT ...

  2. C#操作SqlServer MySql Oracle通用帮助类Db_Helper_DG(默认支持数据库读写分离、查询结果实体映射ORM)

    [前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系型数据库,在使用了多年的Sql_Helper_DG后,由于项目需 ...

  3. Oracle,sqlserver,mySQl的区别和联系:

    1.日期处理方式 2.对保留字和关键字的处理方式: Oracle,sqlserver,mySQl的保留字不可以用作列字段,关键字可以,但他们对关键字的处理方式又不同: Oracle:关键字作为列时:用 ...

  4. C#操作SqlServer MySql Oracle通用帮助类

    C#操作SqlServer MySql Oracle通用帮助类 [前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系 ...

  5. C#------EntityFramework实体加载数据库SQLServer(MySQL)

    一.SQLServer数据库创建表Company,包含ID,CName,IsEnabled三列 二.(1)VS新建一个DXApplication工程,名为CompanyManageSystem (2) ...

  6. oracle,sqlserver,mysql 命令行 开启、关闭所需要的服务

    ORACLE需要开启的服务   需要启动的服务:   口令: 启动Oracle 11g服务: (下面的可以作为bat 脚本,直接运行便可以不用去自己去启动和关闭服务了.) @echo off @ EC ...

  7. jdbc连接sqlserver,mysql,oracle

    class xxx{ private static String port = "1433"; private static String ip = "192.168.2 ...

  8. oracle,sqlserver,mysql常见数据库jdbc连接

    发现JDBC连接字符串总是容易忘记,特此整理一下常用的几种数据的连接 ORACLE: /** * ORACLE * */ public static Connection getOracleConne ...

  9. java JDBC链接sqlserver/mysql/oracle

    今天初学数据库的一些简单创建数据库和表,并进行简单的查询,插入. 接下学习的就是java工程中怎么链接数据库呢.主要的方法和用到的类如下. 切记,mysql需要的jar包 mysql-connecto ...

  10. hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)

    hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.d ...

随机推荐

  1. 【转载】OpenGL ES 三种类型修饰 uniform attribute varying

    其实attribute varying已经被in和out代替了,但是有些工程代码里面仍然还在,所以权当笔记好了. 1.uniform变量uniform变量是外部application程序传递给(ver ...

  2. avalon2学习教程13组件使用

    avalon2最引以为豪的东西是,终于有一套强大的类Web Component的组件系统.这个组件系统媲美于React的JSX,并且能更好地控制子组件的传参. avalon自诞生以来,就一直探索如何优 ...

  3. 真机在wifi下调试android程序

    大家好,最近在学习android程序由于手机接口问题,调试程序的时候老是接触不良而不能正常调试,因此感到相当苦恼,于是在网上查找无线调试android的方法.经过研究和尝试现已成功无线调试程序,方法分 ...

  4. Ubuntu mongodb 安装和配置

    安装 MongoDB sudo apt-get install mongodb sudo apt-get install mongodb 关闭/启动 sudo service mongodb stop ...

  5. C++(MFC)中WebBrowser去除3D边框的方法(实现IDocHostUIHandler接口)控制 WebBrowser 控件的外观和行为

    在 CSDN 上经常看到以下两个问题:1.在 MFC 应用程序中,如果创建了一个 WebBrowser 控件(包括 CHtmlView 在内),如何可以把该控件的三维边框禁止掉?2.在 MFC 应用程 ...

  6. hibernate学习(设计多对多 关系 映射)

    // package org.crazy.app.domain; import java.util.HashSet; import java.util.Set; import javax.persis ...

  7. POJ 2398 - Toy Storage 点与直线位置关系

    Toy Storage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5439   Accepted: 3234 Descr ...

  8. 修改Tomcat根目录

    在server.xml文件中找到</Host>标签,在之前加入这样一行:<Context path="" docBase="F:/MyWeb" ...

  9. iOS 设置 文字和 图片的位置

    1.我最开始实现这个采用的方法:重新自定义一个view,然后有两个属性label和imageView,然后设置位置布局,再添加单击手势,用代理回传点击方法. 2.第二种方法:自定义一个Button继承 ...

  10. eclipse使用技巧、快捷键

    1.alt+/  自动提示符,可以快速补整,提高效率.  输入Sysout,再按下alt+/,就可以打印了.  输入main,再按下alt+/,可以直接显示main方法. 2.ctrl+左键,快速进入 ...