Member 13032117 Ответов: 1

Ошибка при использовании перекрестного применения


Я пытаюсь использовать cross apply в первый раз и каждый раз получаю ошибку.

Если я жестко закодировал значения, это работает нормально, если я попытаюсь использовать табличные значения (в чем и заключается весь смысл), я получу ошибку.

Что я уже пробовал:

-- Я вызываю TVF, когда жестко кодирую значения, это прекрасно работает
с
elect prs.*
from cifa addr
	cross apply TVFParseSourceAddress('123 First Street',null,null,'Lake Mary FL 27344',null,null,null,null) prs


но когда я пытаюсь вызвать функцию, используя значения из таблицы cifa, она выдает мне ошибку. Неправильный синтаксис рядом с '.'


select addr.ADDRESS1, addr.ADDRESS2, addr.CITY_STATE_ZIP
from cifa addr 
    cross apply TVFParseSourceAddress(addr.ADDRESS1,null,null,addr.CITY_STATE_ZIP,null,null,null,null) prs



Я предполагаю, что, поскольку он работает с жестко закодированными значениями, проблема не в TVF, но я в тупике относительно того, в чем может быть проблема

Bryian Tan

Хм, это странно. Во всяком случае, мое предложение на данный момент состоит в том, чтобы использовать одно значение из таблицы cifa за раз, а остальное жестко закодировать, чтобы сузить, какой параметр дает проблему.

CHill60

Есть ли у вас примеры данных для таблицы cifa? Возможно, стоит поделиться и кодом TVF

1 Ответов

Рейтинг:
2

Member 13032117

Оказывается, это был уровень совместимости моей базы данных. Я обновил его с 80 до 100 и теперь он работает нормально

Спасибо