Какую реализацию SQL можно перевести на многие другие? - PullRequest
0 голосов
/ 23 августа 2011

Я ищу реализацию SQL (и его редактор), которую можно использовать для перевода ее на многих других языков SQL.

Например, когда я кодирую на этом языке SQL в файл (ы) сценария, а затем переводю в другой (ие) файл (ы) сценария языка SQL (например, MS SQL, MySQL, ...).

Ответы [ 4 ]

4 голосов
/ 23 августа 2011

Если вы уверены, что для построения своих сценариев используете только ANSI SQL, вам стоит потрудиться.

2 голосов
/ 24 августа 2011

Я согласен с @Justin Niessner: все поставщики SQL обращают внимание на стандарты SQL, особенно на ядро ​​SQL-92. Взять SQL Server в качестве примера, хотя они находят устаревший код Sybase сложным для устаревания, они не боятся этого делать, и совершенно новые функции (например, MERGE в MSSQL2008) имеют тенденцию расширять свои стандартные эквиваленты SQL , а не изобретать велосипед.

Для продукта, который имеет хорошее соответствие стандартам, взгляните на Мимер

Здесь, в Mimer Information Technology, мы гордимся соответствием к стандарту SQL, и мы играем активную роль в базе данных Группа стандартизации языков, которая точно определяет, что такое SQL стандарт.

Mimer также предоставляет чрезвычайно полезные средства проверки SQL для SQL-92, SQL-99 и SQL: 2003 соответственно.

1 голос
/ 23 августа 2011

Если вам нужны только базовые операции, они достаточно универсальны. Например:

  • SELECT
  • INSERT
  • DELETE
  • UPDATE
  • FROM
  • WHERE
  • JOIN

... все на базовом уровне одинаковы для всех реализаций.

Однако, чем сложнее становятся ваши сценарии, тем труднее становится сделать их «универсальными». Такие вещи, как агрегация, подзапросы, курсоры, циклы while, функции, индексы, ограничения, временные таблицы, переменные, операции со строками, оконные операции и т. Д., В значительной степени зависят от базы данных.

Некоторые из них имеют «универсальные» эквиваленты, но чем более универсален ваш код, тем хуже он будет работать.

1 голос
/ 23 августа 2011

Я изучал то же самое некоторое время назад. Я обнаружил, что существует проект liquibase . Он предназначен для отслеживания изменений, а также для конвертации между различными СУБД. Вы можете скачать исходный код и увидеть различные преобразования типов данных в разных базах данных. Исходный код github найдите файлы Java, возможно, вы найдете что-то полезное

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...