Выражения MS Access в сквозном запросе к базе данных Oracle - PullRequest
2 голосов
/ 06 марта 2012

Я пытаюсь создать сквозной оператор SQL из моего MS Access 2003 (да, я знаю, что это oldschool, но мои руки связаны: /) с БД Oracle на сервере.

Короче говоря, серверная таблица содержит модели морозильников, где каждая модель существует от 1 до 5 раз с идентификатором, перед которым стоит значение, указывающее ее состояние. Проблема в том, что я должен получить все «версии» морозильника. В Access я бы написал что-то вроде:

SQL = "SELECT Right(FREEZERS.ID,4) FROM FREEZERS WHERE Right(FREEZERS.ID,4) = '" & myID & "'"

Но это вызывает ошибку в моем сквозном запросе к Oracle. Можно ли даже написать подобные выражения в сквозном запросе?

Я использую vba и QueryDef с строкой подключения к серверу (которая прекрасно работает, если я убираю выражение Right () -), а затем открываю набор записей с результатом.

Заранее спасибо, Вигго

EDIT: Ах, прости ..

Взял последний гугл и выскочил ответ:

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

Для других в поиске: ключ ищет синтаксис Oracle, а не сквозной синтаксис.

Источник: http://peoplesofttipster.com/2008/08/18/substringing-and-oracle-sql-basic-trick/

Надеюсь, это может помочь кому-то еще:)

1 Ответ

0 голосов
/ 02 июля 2012

Как описано выше:

В сквозных запросах языка SQL сервера ..:)

...