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

发布于 2024-10-06 17:44:32 字数 87 浏览 3 评论 0原文

我有一个 SQL Server 2000 数据库,其中有很多存储过程。我想迁移到开源数据库,并且我知道我将不得不重新编写程序,但我想以尽可能少的努力来做到这一点

I have a SQL Server 2000 database with a lot of stored procedures. I want to migrate to a open source database and well I know I will have to re write the procedures but I would like to do this with as little effort as possible

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

篱下浅笙歌 2024-10-13 17:44:32

两者都不是直接移植,但两者相比——MySQL 的语法与 SQL Server 的语法比 PostgreSQL 更相似。

SQL Server 2000 没有分析/排名/窗口功能——MySQL 目前也没有。另外,没有WITH/CTE 支持——同样,MySQL 也不支持这一点。如果您要从 SQL Server 2005+ 迁移,出于我刚才提到的两件事之一,我会推荐 PostgreSQL 8.4+。

Neither are a direct port, but of the two -- MySQL's syntax is more similar to SQL Server's than PostgreSQL.

SQL Server 2000 didn't have analytic/ranking/windowing functionality -- neither does MySQL currently. Also, no WITH/CTE support - again, MySQL doesn't support this either. If you were migrating away from SQL Server 2005+, I'd have recommended PostgreSQL 8.4+ for the sake of either of the two things I just mentioned.

星星的軌跡 2024-10-13 17:44:32

MySQL 的存储过程非常基本,例如您不能从过程中引发异常,这使得错误处理非常痛苦。此外,调试存储过程很痛苦,错误消息不清楚,而且语言本身也非常有限。

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

MySQL's stored procs are really basic, for instance you cannot raise an exception from within a proc, which makes error handling REALLY PAINFUL. Also, debugging stored procs is a pain, the error messages are unclear, and the language itself is pretty limited.

Postgres is much more mature for this ; if your app has lots of stored procs, this pretty much rules out mysql.

眼角的笑意。 2024-10-13 17:44:32

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 等外部语言存储过程,更多语言插件正在开发中。

来自链接文本

MySQL supports stored procedures, per se; PostgreSQL supports stored functions, which are in practice very similar.
The first query language for PostgreSQL, PL/pgSQL, is similar to Oracle's PL/SQL. PostgreSQL supports SQL:2003 PSM stored procedures as well as many other general purpose programming languages such as Perl (PL/Perl), Python (PL/Python), TCL (PL/Tcl), Java (PL/Java) and C (PL/C).
MySQL follows the SQL:2003 syntax for stored routines, which is also used by IBM's DB2.
—MySQL AB , MySQL 5.1 Reference Manual :: 18 Stored Procedures and Functions
Via the plugin interface MySQL supports external language stored procedures in Java, Perl, XML-RPC with more language plugins in the works.

from link text

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文