Microsoft T-SQL к Oracle перевод SQL

Вы хотите сделать:

UIImage(data: data)

В Swift они заменили большинство стандартных методов Objective C на обычные конструкторы.

Смотрите:

https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithObjective-CAPIs.html#//apple_ref/doc/uid/TP40014216-CH4-XID_26

20
задан a_horse_with_no_name 9 October 2018 в 16:32
поделиться

9 ответов

Языковое различие, перечисленное до сих пор, тривиально по сравнению с логическими различиями. Любой может поиск NVL. То, что твердо к поиску,

DDL

В SQL-сервере, Вы управляете своей схемой, где угодно, в любое время, с минимальной суетой.

В Oracle, нам не нравится DDL в хранимых процедурах, таким образом, у Вас есть переход через обручи. Необходимо использовать, ВЫПОЛНЯЮТСЯ НЕПОСРЕДСТВЕННЫЙ для выполнения функции DDL.

Временные Таблицы

В SQL Server, когда логика становится немного жесткой, общей вещью является к ярлыку sql, и разрешите его к временной таблице, и затем следующий шаг сделан с помощью той временной таблицы. MSSS делает очень легким сделать это.

В Oracle нам не нравится это. Путем принуждения промежуточного результата Вы полностью препятствуете тому, чтобы Оптимизатор нашел ярлык для Вас. НО Если необходимо остановиться на полпути и сохранить промежуточные результаты, Oracle хочет, чтобы Вы сделали временную таблицу заранее, не на лету.

Блокировки

В MSSS Вы волнуетесь о блокировке, у Вас есть подсказки nolock для применения к DML, у Вас есть повышение уровня блокировок для сокращения количества блокировок.

В Oracle мы не волнуемся о них таким образом.

Read Фиксировал

До недавнего времени, MSSS не полностью обработал Read Зафиксированная изоляция, таким образом, Вы волновались о грязных чтениях.

Oracle была тем путем в течение многих десятилетий.

и т.д.

MSSS не имеет понятия Растровых индексов, IOT, Кластеров Таблицы, Единственных кластеров хеша Таблицы, не уникальных индексов, осуществляющих ограничения на уникальность данных....

21
ответ дан 29 November 2019 в 23:20
поделиться

Если Вы замените свой ISNULL, и ерунда NVL с ОБЪЕДИНЯЮТ, то это будет работать в T-SQL и МН / SQL!

3
ответ дан 29 November 2019 в 23:20
поделиться

Наиболее важные различия для плоскости T-SQL:

  • NVL заменяет замены ISNULL
  • SYSDATE GETDATE ()
  • , ПРЕОБРАЗОВАНИЕ не поддерживается
  • , столбцы Identity должны быть заменены последовательностями < - не технически T-или МН/, но просто Примечание SQL

. Я предполагаю, что Вы не используете SQL Server устаревший * = синтаксис для соединений

@jodonell: таблица, с которой Вы связываетесь, немного устарела, оракул стал несколько большим количеством стандартов, совместимых после 9i поддержка вещей как СЛУЧАЙ и внешние объединения ANSI

2
ответ дан 29 November 2019 в 23:20
поделиться

Это не тривиально для отображения их назад и вперед, таким образом, я сомневаюсь, что существует инструмент, который делает это автоматически. Но эта ссылка могла бы выручить Вас: http://vyaskn.tripod.com/oracle_sql_server_differences_equivalents.htm

2
ответ дан 29 November 2019 в 23:20
поделиться

При выполнении одноразового преобразования, вместо того, чтобы пытаться поддерживать две версии, необходимо посмотреть Инструментальные средства Миграции Oracle . Этот инструмент работает с SQLDeveloper Oracle (который Вы действительно должны иметь, если Вы работаете с Oracle). Это делает преобразование схемы, данных, и часть T-SQL к МН / SQL. Зная обоих хорошо, я нашел, что это сделало приблизительно 80%-е задание. Достаточно хороший, чтобы не остаться в долгу для преобразования объема процедур и ручного преобразования остаток "более жесткие" неизвестные части.

0
ответ дан 29 November 2019 в 23:20
поделиться

Недешево (995 долларов), но этот инструмент отлично работает: http://www.swissql.com/products/sql-translator/sql-converter.html

0
ответ дан 29 November 2019 в 23:20
поделиться

Я должен кое-что упомянуть.

1) Когда я работал над Oracle 8, вы не могли использовать «Select @Result», вместо этого вам приходилось использовать фиктивную таблицу следующим образом: «Select @Result from dual». Не уверен, что эта нелепость все еще существует.

2) В мире Oracle они, кажется, любят курсоры, и вам лучше почитать о них, они используют их постоянно, AFAICS.

Удачи и удовольствия,

он не сильно отличается от MS SQL. К счастью, мне больше не нужно с этим работать, и я снова чувствую себя комфортно с инструментами MS.

4
ответ дан 29 November 2019 в 23:20
поделиться

Я выполнил несколько миграций с SQL-сервера на Oracle. Невозможно выполнить миграцию, не переписав внутренний код. Слишком много различий между двумя базами данных и, что более важно, различий между двумя типами мышления программистов. Многие менеджеры думают, что эти 2 взаимозаменяемы, у меня были менеджеры, которые просили меня скопировать хранимые процедуры с SQL-сервера и скомпилировать их в oracle, но это не подсказка! Toad - безусловно, лучший инструмент на рынке для поддержки приложений Oracle. Разработчик SQL в порядке, но разочаровал по сравнению с жабой. Я надеюсь, что этот оракул когда-нибудь догонит их продукт, но его еще нет. Удачного дня :) Скорее всего, если вы переходите на Oracle, на это есть причина, и для выполнения этого требования вам нужно будет переписать код серверной части, иначе у вас будет много проблем.

2
ответ дан 29 November 2019 в 23:20
поделиться

Некоторые люди упомянули здесь преобразование назад и вперед. Я не знаю инструмента для преобразования из MSSQL в Oracle, но я использовал бесплатный инструмент MS для преобразования Oracle db в MSSQL, и он сработал для меня и преобразовал большой db без каких-либо проблем, которые я могу назвать. Он похож на инструмент «Доступ к MSSQL», который MS также предоставляет бесплатно. Наслаждайтесь

0
ответ дан 29 November 2019 в 23:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: