2015-01-21 3 views
-1

У меня есть приложение, которое должно поддерживать два типа баз данных SQL SERVER и ORACLE. Таким образом, мы работаем вечно на SQL Server, и теперь мы делаем эту поддержку.Преобразовать синтаксис сценария сервера SQL в синтаксис сценария oracle

Моя идея состояла в том, чтобы создать инструмент для создания сценариев создания базы данных с использованием CMO, а затем преобразовать эти сценарии в сценарии Oracle PL/SQL и запустить их в Oracle.

Мои вопросы:

  1. Возможно ли это синтаксис преобразования в коде?
  2. Мне нужно руководство для преобразования такого синтаксиса.
  3. У вас есть лучшее предложение по поддержанию двух типов баз данных (я имею в виду при изменении одного из них, нам не нужно переходить к другому. Нам нужен инструмент, чтобы сделать это изменение.)?
+0

Инструменты никогда не могут быть лучше людей. –

+0

В отличие от SQL Server, Oracle делает очень четкое различие между языком запросов («SQL») и процедурным языком («PL/SQL»). Упоминание PL/SQL ** всегда ** означает, что вы пишете какую-то процедуру или функцию в мире Oracle. Вы говорите об автоматическом преобразовании хранимых процедур из SQL Server T-SQL в Oracle PL/SQL? Или вы говорите о преобразовании SQL-запросов из SQL Server в Oracle? Преобразование запросов в автоматическом режиме будет очень сложной задачей, но я не думаю, что преобразование хранимых процедур будет практически осуществимым. –

ответ

0

Если вы пишете, используя стандартный sql, он должен быть в основном переносным. Например, используйте fetch вместо top, SET @ a = .. вместо Select @ a = .. Используйте Merge для обновлений, а не для добавления обновлений, CURRENT_TIMESTAMP вместо getdate() и т. Д.

+0

Спасибо, что я прошу, это какая-то таблица со всеми изменениями, которые должны быть сделаны. или образец кода, который делает трюк. –

Смежные вопросы