Oracle SQL Query не работает в файле .PC (код C) - PullRequest
0 голосов
/ 22 мая 2018

Привет, у меня есть следующий файл c ResolveClients.pc. В файле ResolveClients.pc я выполняю запрос на выборку Oracle SQL

EXEC SQL AT DHDB
    SELECT  CLIENT_NO
    INTO    :TmpCNo:TmpCNoInd
    FROM    CLIENTS
    WHERE   DATE_OF_BIRTH = to_date(:DOB, 'YYYYMMDD')
    AND FIRSTNAME || ' ' || SURNAME = upper(:Name)
    AND ROWNUM < 2;

Я объявил

Имя VARCHAR [240]

и DOB объявляется как

char DOB [9]

Строка, хранящаяся в Name.arr, - «Джон Смит», а строка, хранящаяся в DOB, - «20010916».«

, когда я выполняю точно такой же запрос в PL SQL Developer, я нахожу запись, но не нахожу запись, используя ResolveClient.pc

. Пожалуйста, помогите указать, где я могу ошибаться вкод ResolveClient.pc Спасибо

1 Ответ

0 голосов
/ 31 мая 2018

Я бы попробовал обрезать поле имени в сравнении, если у вас есть лишний пробел от вашего varchar (240), вызывающий проблему.

AND trim(FIRSTNAME || ' ' || SURNAME) = trim(upper(:Name))
...