存储过程:哪个更类似于SQL Server 2000 - Postgresql或MySQL

时间:2010-12-09 18:56:36

标签: sql mysql sql-server postgresql sql-server-2000

我有一个包含大量存储过程的SQL Server 2000数据库。我想迁移到一个开源数据库,我知道我将不得不重新编写程序,但我希望尽可能少地完成这项工作

3 个答案:

答案 0 :(得分:5)

两者都不是直接端口,但两者之间 - MySQL的语法更类似于SQL Server而不是PostgreSQL。

SQL Server 2000没有分析/排名/窗口功能 - 当前MySQL也没有。此外,没有WITH / CTE支持 - 再次,MySQL也不支持这一点。如果你正在从SQL Server 2005+迁移,我会推荐PostgreSQL 8.4+,因为我刚才提到过两件事。

答案 1 :(得分:1)

MySQL的存储过程实际上是基本的,例如你不能从proc中引发异常,这使得错误处理真的非常痛苦。此外,调试存储过程是一种痛苦,错误消息不清楚,语言本身非常有限。

Postgres对此更为成熟;如果你的应用程序有很多存储过程,这几乎排除了mysql。

答案 2 :(得分:0)

  

MySQL支持存储过程本身; PostgreSQL支持存储的函数,实际上它们非常相似。   PostgreSQL的第一个查询语言PL / pgSQL类似于Oracle的PL / SQL。 PostgreSQL支持SQL:2003 PSM存储过程以及许多其他通用编程语言,如Perl(PL / Perl),Python(PL / Python),TCL(PL / Tcl),Java(PL / Java)和C(PL) /C)。   MySQL遵循存储例程的SQL:2003语法,IBM的DB2也使用它。   -MySQL AB,MySQL 5.1参考手册:: 18存储过程和函数   通过插件接口MySQL支持Java,Perl,XML-RPC中的外部语言存储过程,其中包含更多语言插件。

来自link text