SqlServer=>MySql
原文: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的更多相关文章
- 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录
从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO ,NAME ) DEFAULT ...
- C#操作SqlServer MySql Oracle通用帮助类Db_Helper_DG(默认支持数据库读写分离、查询结果实体映射ORM)
[前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系型数据库,在使用了多年的Sql_Helper_DG后,由于项目需 ...
- Oracle,sqlserver,mySQl的区别和联系:
1.日期处理方式 2.对保留字和关键字的处理方式: Oracle,sqlserver,mySQl的保留字不可以用作列字段,关键字可以,但他们对关键字的处理方式又不同: Oracle:关键字作为列时:用 ...
- C#操作SqlServer MySql Oracle通用帮助类
C#操作SqlServer MySql Oracle通用帮助类 [前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系 ...
- C#------EntityFramework实体加载数据库SQLServer(MySQL)
一.SQLServer数据库创建表Company,包含ID,CName,IsEnabled三列 二.(1)VS新建一个DXApplication工程,名为CompanyManageSystem (2) ...
- oracle,sqlserver,mysql 命令行 开启、关闭所需要的服务
ORACLE需要开启的服务 需要启动的服务: 口令: 启动Oracle 11g服务: (下面的可以作为bat 脚本,直接运行便可以不用去自己去启动和关闭服务了.) @echo off @ EC ...
- jdbc连接sqlserver,mysql,oracle
class xxx{ private static String port = "1433"; private static String ip = "192.168.2 ...
- oracle,sqlserver,mysql常见数据库jdbc连接
发现JDBC连接字符串总是容易忘记,特此整理一下常用的几种数据的连接 ORACLE: /** * ORACLE * */ public static Connection getOracleConne ...
- java JDBC链接sqlserver/mysql/oracle
今天初学数据库的一些简单创建数据库和表,并进行简单的查询,插入. 接下学习的就是java工程中怎么链接数据库呢.主要的方法和用到的类如下. 切记,mysql需要的jar包 mysql-connecto ...
- hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)
hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.d ...
随机推荐
- JAVA基础_字符串、访问属性
1.字符串 String s = new String(“123”)不如String s = “123”效率高. 字符串连接操作StringBuilder效率比较高. StringBuff ...
- oracle net manager的配置文件tnsnames.ora位置
配置文件所在的路径:C:\app\Ling-PC\product\11.2.0\client_1\network\admin (红色为安装的盘符位置)
- Linux内核分析第六周学习总结:进程的描述和进程的创建
韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.进程的描述 ...
- 百思不得骑姐的问题——难道是控件的bug?
直接进入主题,困惑了一下午了. 要实现的功能: winform的checkedlistbox控件 点击 “全部” 就都选上,可是如果点击过快就会出现如上现象,下面选项未显示选中. 代码如下: pr ...
- Ubuntu下shell脚本运行异常:bash和dash的区别
Ubuntu下我用bash到语法写了一个shell脚本(准确的说是把书上的脚本敲进电脑),在ubuntu下,用sh test.sh来运行,但是出现了意料之外到结果,比如echo -e "\n ...
- phpcms安装
cms的样式有很多种,我们学习的是phpcms,这些cms都是大同小异,学会了一种就可以使用其它的cms. PHPCMS是一款网站管理软件.该软件采用模块化开发,支持多种分类方式,使用它可方便实现个性 ...
- Intellij_idea-14官方快捷键中文版
编辑类: Ctrl+Space 基本代码实例(类.方法.变量) Ctrl + Shift + Space 智能代码实例(根据需要的类型过滤方法和变量) Ctrl + Shift + Enter 完整的 ...
- JAVA学习<六>
1.Java中的局部变量和成员变量: 2.变量同名,优先方法的局部变量. 3. 4.构造方法: 5.Java 中的 static 使用之静态变量: Java 中被 static 修饰的成员称为静态成员 ...
- java利用jxl操作Excel
/** * 把从数据库查询到的数据,写入电子表格 * * @throws Exception */ public void createXls() throws Exception { Dao dao ...
- PHP 四种基本排序算法的代码实现
前提:分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中的值按照从小到大的顺序进行排序. $arr(1,43,54,62,21,66,32,78,36,76,39); 1. 冒泡排序 思 ...