tsql - 将t-sql(SQL Server)存储过程转换为postgresql(postgresql)的工具

标签 tsql postgresql automation

<分区>

谁能推荐一个工具或共享代码来帮助我在从 SQL Server 数据库迁移到 postgresql 时将数据库中的大量 t-sql 存储过程转换为 postgresql?

== 已编辑== 这里有一些明确的目标:

  1. 将所有 sps 转换为 postgre sql,而不考虑性能/调整等,只关注语法正确和查询返回正确数据

语言转换和转换相关的指南真的很有用。我看到几个旧的 vbscript 示例(其中大部分不适合我)并且可以尝试将它们转换为 T4 模板。

我很惊讶没有人真的需要这种转换!我仍然没有合适的工具来这样做。

提前致谢。

最佳答案

翻译语言很难。您需要解析原文(使用所有奇怪的语法和它允许的超出文档说明的内容),确定名称的含义,发现语义,并在不丢失细微细节的情况下翻译成目标语言。

如果您为这个现成的解决方案找到解决方案,我会感到很惊讶。部分问题是有大量的源语言(方言使情况变得更糟)和大量的目标语言 M,需要一个 NxM 翻译库。如果你等几个月,N 和 M 都会移动。一个希望是将 N 种语言翻译成一种通用的通用核心语言,并将其翻译成 M 个目标,现在只需要 N + M ...无论如何移动。

可以考虑为任务构建(或让其他人构建)特定的翻译器;这通常是不经济的,至少如果你希望它可靠的话,因为很多翻译机器(解析、名称解析、模式匹配/翻译……)往往要从头开始重建。

如果您小心谨慎,可以通过构建(大量)共享机器来分摊翻译基础设施的成本。一旦你这样做了,构建一个翻译器就更容易了(仍然不容易),而且对于个别案例来说,经济学更有意义。您可以在以下位置阅读有关此方法的更多信息:What kinds of patterns could I enforce on the code to make it easier to translate to another programming language?

关于tsql - 将t-sql(SQL Server)存储过程转换为postgresql(postgresql)的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6952922/

相关文章:

sql-server - 是否有针对链接服务器的 "IF EXISTS"测试?

sql - 如何根据条件选择包含记录的 TOP X?

php - 在 PHP 7.0.7 上安装 MySQLi 和 pgsql 扩展

javascript - 自动化 VBA 加载 IE 并在登录屏幕上输入凭据

php - 在没有用户提示的情况下安装 PHP Pear

sql-server - 搜索表/索引扫描

sql-server - sql like 语句获取意外结果

ruby-on-rails - Ruby/Rails 迁移之外的数据库更改

sql - 为什么 postgres 表中的 xmax 系统列对于未删除的行不为零?

java - TestNG 使用多个 DataProvider 和单个测试方法