powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не находит записи в процедуре по запросу, хотя они есть.
11 сообщений из 11, страница 1 из 1
Не находит записи в процедуре по запросу, хотя они есть.
    #40106769
Сергей из Самары
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите разобраться, пожалуйста

Есть процедура, в которой выполняется код:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
BEGIN  
              SELECT MAX(utf.ID),udf.note9,udf.fint5
              INTO indic,logn,ecp
              FROM organizations o
                 LEFT JOIN facialacc_cls f ON (f.ORG_REF = o.id)
                 INNER JOIN utypedformscaption utf ON (trunc(utf.FACIALACC_CLS/1000000) = f.CODE1)
                 LEFT JOIN utypedformsdetail udf ON (udf.recordindex = utf.id)
              WHERE o.inn = date_upd.inn AND o.dateclose IS null AND 
                    utf.TYPEDFORM = 36015068 AND
                    utf.FINT1 in (0,3) AND nvl(udf.fint7,0) = 0 AND
                    utf.ACCEPTDATE = accd AND f.CODE1 = code AND
                    replace(upper(udf.note1),'Ё','Е') = replace(fam#,'Ё','Е') AND
                    replace(upper(udf.note2),'Ё','Е') = replace(imya#,'Ё','Е') AND
                    replace(upper(udf.note3),'Ё','Е') = replace(otch#,'Ё','Е')
              GROUP BY udf.note9,udf.fint5;
                    
              utl_file.put_line(log_file_upd,'ID заявки - '||to_char(indic));
            EXCEPTION
              WHEN no_data_found THEN 
                indic:= -1;
                utl_file.put_line(log_file_upd,'WHERE o.inn = '||to_char(date_upd.inn)||' AND o.dateclose IS null AND utf.TYPEDFORM = 36015068 AND
                    utf.FINT1 in (0,3) AND nvl(udf.fint7,0) = 0 AND
                    utf.ACCEPTDATE = '||to_char(accd)||' AND f.CODE1 = '||to_char(code)||' AND
                    upper(udf.note1) = '''||fam#||''' AND
                    upper(udf.note2) = '''||imya#||''' AND
                    upper(udf.note3) = '''||otch#||'''');
                utl_file.put_line(log_file_upd,'Не найдена подходящая заявка для организации');
                utl_file.put_line(log_file_upd,'ПАРАМЕТРЫ ПОИСКА: ');
                utl_file.put_line(log_file_upd,'          ИНН  '||date_upd.inn);
                utl_file.put_line(log_file_upd,'          ЛС   '||to_char(code));
                utl_file.put_line(log_file_upd,'          ACCD '||to_char(accd));
                utl_file.put_line(log_file_upd,'Содержащая в себе сотрудника: '||fam#||' '||imya#||' '||otch#);
            END;


Тут передаются параметры, по которым происходит поиск. Лог выводит, что ничего не нашел:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ПОИСК ID ЗАЯВКИ
WHERE o.inn = 6******1 AND o.dateclose IS null AND utf.TYPEDFORM = 36015068 AND
                    utf.FINT1 in (0,3) AND nvl(udf.fint7,0) = 0 AND
                    utf.ACCEPTDATE = 20211025 AND f.CODE1 = 246 AND
                    upper(udf.note1) = 'У**А' AND
                    upper(udf.note2) = 'ЛЮБОВЬ' AND
                    upper(udf.note3) = 'СЕРГЕЕВНА'
Не найдена подходящая заявка для организации
ПАРАМЕТРЫ ПОИСКА: 
          ИНН  6******1
          ЛС   246
          ACCD 20211025
Тем не менее если я выполняю поиск, подставив выданную в лог запись с WHERE, то данные находятся. Они там по этим параметрам точно есть. Никак не могу понять почему, когда запрос вызывается в процедуре, то запись не находится

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT MAX(utf.ID),udf.note9,udf.fint5
FROM organizations o
                 LEFT JOIN facialacc_cls f ON (f.ORG_REF = o.id)
                 INNER JOIN utypedformscaption utf ON (trunc(utf.FACIALACC_CLS/1000000) = f.CODE1)
                 LEFT JOIN utypedformsdetail udf ON (udf.recordindex = utf.id)
WHERE o.inn = 6******1 AND o.dateclose IS null AND utf.TYPEDFORM = 36015068 AND
                    utf.FINT1 in (0,3) AND nvl(udf.fint7,0) = 0 AND
                    utf.ACCEPTDATE = 20210816 AND f.CODE1 = 246 AND
                    upper(udf.note1) = 'У***А' AND
                    upper(udf.note2) = 'ЛЮБОВЬ' AND
                    upper(udf.note3) = 'СЕРГЕЕВНА'
GROUP BY udf.note9,udf.fint5


Код: plaintext
1.
1	773545096	U****A_713	2
...
Рейтинг: 0 / 0
Не находит записи в процедуре по запросу, хотя они есть.
    #40106774
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей из Самары,

** А' 'У *** А'
...
Рейтинг: 0 / 0
Не находит записи в процедуре по запросу, хотя они есть.
    #40106777
Сергей из Самары
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anton_Demin,

Я просто фамилию человека не стал писать.Понятно, что она без звездочек и полностью. И запрос я делал копированием, так что и там и там она одинакова.
...
Рейтинг: 0 / 0
Не находит записи в процедуре по запросу, хотя они есть.
    #40106779
PuM256
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей из Самары,

Для начала, у вас в логе и в запросе разные фильтры:

Код: plsql
1.
2.
3.
                    replace(upper(udf.note1),'Ё','Е') = replace(fam#,'Ё','Е') AND
                    replace(upper(udf.note2),'Ё','Е') = replace(imya#,'Ё','Е') AND
                    replace(upper(udf.note3),'Ё','Е') = replace(otch#,'Ё','Е')



Код: plsql
1.
2.
3.
                    upper(udf.note1) = 'У**А' AND
                    upper(udf.note2) = 'ЛЮБОВЬ' AND
                    upper(udf.note3) = 'СЕРГЕЕВНА'
...
Рейтинг: 0 / 0
Не находит записи в процедуре по запросу, хотя они есть.
    #40106781
Сергей из Самары
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PuM256,

Да. Я просто не стал в лог выводить REPLACE, меняющий Ё на Е
Ни в фамилии, ни в имени этой буквы нет. Так что ничего это не изменит.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT MAX(utf.ID),udf.note9,udf.fint5
FROM organizations o
                 LEFT JOIN facialacc_cls f ON (f.ORG_REF = o.id)
                 INNER JOIN utypedformscaption utf ON (trunc(utf.FACIALACC_CLS/1000000) = f.CODE1)
                 LEFT JOIN utypedformsdetail udf ON (udf.recordindex = utf.id)
WHERE o.inn = 6*****1 AND o.dateclose IS null AND utf.TYPEDFORM = 36015068 AND
                    utf.FINT1 in (0,3) AND nvl(udf.fint7,0) = 0 AND
                    utf.ACCEPTDATE = 20210816 AND f.CODE1 = 246 AND
                    replace(upper(udf.note1),'Ё','Е') =  replace('У***А','Ё','Е') AND
                    replace(upper(udf.note2),'Ё','Е') =  replace('ЛЮБОВЬ','Ё','Е') AND
                    replace(upper(udf.note3),'Ё','Е') =  replace('СЕРГЕЕВНА','Ё','Е')
GROUP BY udf.note9,udf.fint5;

1	773545096	U***A_713	2



ЛОГ:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Старт: 25.10.2021 17:48:41,293

Обработка сертификата
Сертификат: 3***************************C
Тип организации - 1
Организация ГРБС
Сертификат не найден. Ищем сотрудника...

ПОИСК ID ЗАЯВКИ
WHERE o.inn = 6******1 AND o.dateclose IS null AND utf.TYPEDFORM = 36015068 AND
                    utf.FINT1 in (0,3) AND nvl(udf.fint7,0) = 0 AND
                    utf.ACCEPTDATE = 20211025 AND f.CODE1 = 246 AND
                    upper(udf.note1) = 'У***А' AND
                    upper(udf.note2) = 'ЛЮБОВЬ' AND
                    upper(udf.note3) = 'СЕРГЕЕВНА'
Не найдена подходящая заявка для организации
ПАРАМЕТРЫ ПОИСКА: 
          ИНН  6*******1
          ЛС   246
          ACCD 20211025
Содержащая в себе сотрудника: У***А ЛЮБОВЬ СЕРГЕЕВНА

Обработка завершена.

Окончено: 25.10.2021 17:48:41,309

...
Рейтинг: 0 / 0
Не находит записи в процедуре по запросу, хотя они есть.
    #40106789
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей из Самары,

имена полей таблиц с "переменными" процедуры часом не совпадают (напр code)?

.....
stax
...
Рейтинг: 0 / 0
Не находит записи в процедуре по запросу, хотя они есть.
    #40106791
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей из СамарыТем не менее если я выполняю поиск,
Код: plsql
1.
utf.ACCEPTDATE = 20210816


Код: plsql
1.
2.
3.
4.
ПОИСК ID ЗАЯВКИ
WHERE o.inn = 6******1 AND o.dateclose IS null AND utf.TYPEDFORM = 36015068 AND
                    utf.FINT1 in (0,3) AND nvl(udf.fint7,0) = 0 AND
                    utf.ACCEPTDATE = 20211025
...
Рейтинг: 0 / 0
Не находит записи в процедуре по запросу, хотя они есть.
    #40106792
Сергей из Самары
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

Нет
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
 PROCEDURE UPDBASE(serial# IN varchar2) IS
    indic   pls_integer;
    code    pls_integer;
    code2   pls_integer;
    code3   pls_integer;
    code4   pls_integer;
    accd    pls_integer;
    cnt1$   pls_integer:= 0;
    ecp     pls_integer;
    fio#    varchar2(250);
    logn    varchar2(60);
    acpd#   DATE;
    
    TBLDUS  id_tbl;
  BEGIN
    start_time:= to_char(localtimestamp,'DD.MM.YYYY HH24:MI:SSXFF3');
    name_file_upd:= filename('CRT');
    log_file_upd:= utl_file.fopen('LOGS_PRAVA',name_file_upd,'W');
    
    infsys(log_file_upd,start_time);
    message:= message||'Вызывается PROCEDURE: '||chr(10)||'BEGIN '||chr(10)||'  PRAVA.UPDBASE('''||serial#||'''); '||chr(10)||'END;';
        
    BEGIN
      utl_file.put_line(log_file_upd,'Обработка сертификата');
      utl_file.put_line(log_file_upd,'Сертификат: '||serial#);
    
...
Рейтинг: 0 / 0
Не находит записи в процедуре по запросу, хотя они есть.
    #40106794
Сергей из Самары
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123йй
Сергей из СамарыТем не менее если я выполняю поиск,
Код: plsql
1.
utf.ACCEPTDATE = 20210816


Код: plsql
1.
2.
3.
4.
ПОИСК ID ЗАЯВКИ
WHERE o.inn = 6******1 AND o.dateclose IS null AND utf.TYPEDFORM = 36015068 AND
                    utf.FINT1 in (0,3) AND nvl(udf.fint7,0) = 0 AND
                    utf.ACCEPTDATE = 20211025



Странный глюк при копировании.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT MAX(utf.ID),udf.note9,udf.fint5
              FROM organizations o
                 LEFT JOIN facialacc_cls f ON (f.ORG_REF = o.id)
                 INNER JOIN utypedformscaption utf ON (trunc(utf.FACIALACC_CLS/1000000) = f.CODE1)
                 LEFT JOIN utypedformsdetail udf ON (udf.recordindex = utf.id)
WHERE o.inn = 6*****1 AND o.dateclose IS null AND utf.TYPEDFORM = 36015068 AND
                    utf.FINT1 in (0,3) AND nvl(udf.fint7,0) = 0 AND
                    utf.ACCEPTDATE = 20211025 AND f.CODE1 = 246 AND
                    upper(udf.note1) = 'У***А' AND
                    upper(udf.note2) = 'ЛЮБОВЬ' AND
                    upper(udf.note3) = 'СЕРГЕЕВНА'
GROUP BY udf.note9,udf.fint5;

1	793955518	U***A_713	2



PS Понял. Это другая заявка с другой датой. Я параметры менял, пытаясь понять, что не так. И по ошибке скопировал этот эксперимент. В любом случае что-то должно было найтись.
...
Рейтинг: 0 / 0
Не находит записи в процедуре по запросу, хотя они есть.
    #40106797
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей из Самары
Stax,

Нет


на нет и суда нет, важно посмотреть структуры таблиц

напр facialacc_cls.CODE1, не добавил ли админ в табличку поле CODE

зы
процедура формс-а? но ето не важно ж

.....
stax
...
Рейтинг: 0 / 0
Не находит записи в процедуре по запросу, хотя они есть.
    #40106929
Сергей из Самары
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

Админ я, а я не добавлял, а вот разработчики...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
SQL> desc facialacc_cls
Name                Type           Nullable Default Comments 
------------------- -------------- -------- ------- -------- 
ID                  NUMBER(10)                               
CODE1               NUMBER(5)                                
CODE2               NUMBER(5)                                
CODE3               NUMBER(5)                                
CODE4               NUMBER(5)                                
KVSR                NUMBER(10)                               
KCSR                NUMBER(10)                               
KFSR                NUMBER(10)                               
KVR                 NUMBER(10)                               
KESR                NUMBER(10)                               
FINTYPE             NUMBER(10)                               
ORG_REF             NUMBER(10)                               
DATEOPEN            NUMBER         Y                         
SERVICEACCOUNT      NUMBER(10)     Y                         
STATUSACCOUNT       NUMBER(10)     Y                         
HARACTERACCOUNT     NUMBER(10)                               
REGIONCLS           NUMBER(10)                               
CREATEDATE          DATE                                     
UPDATEDATE          DATE                                     
FACIALCODE          VARCHAR2(20)   Y                         
MEANSTYPE           NUMBER(10)                               
GENERALORG_REF      NUMBER(10)                               
DEPARTMENTCLS       NUMBER(10)     Y                         
RVERSION            NUMBER(10)     Y                         
CLOSEDOCNUMBER      VARCHAR2(20)   Y                         
HIGHERORG_REF       NUMBER(10)     Y                         
BUDGETREF           NUMBER(10)                               
FCACCOUNT           NUMBER(10)     Y                         
CLOSECODE           NUMBER(10)     Y                         
DATECLOSE           NUMBER         Y                         
CREATERUSER         VARCHAR2(30)                             
UPDATERUSER         VARCHAR2(30)                             
NOTE                VARCHAR2(255)  Y                         
NAME                VARCHAR2(1024)                           
ISRBS               NUMBER(5)                                
ISPBS               NUMBER(5)                                
ISBU                NUMBER(5)                                
ISSEPARATEBU        NUMBER(5)                                
ISPROXY             NUMBER(5)                                
OPENDOCNUMBER       VARCHAR2(100)  Y                         
ISOMS               NUMBER(5)                                
CHANGEDOCNUMBER     VARCHAR2(100)  Y                         
DATECHANGE          NUMBER         Y                         
GENERALORGFACIALACC NUMBER(10)     Y                         
GRANTEEORG_REF      NUMBER(10)     Y                         
PREVCLS             NUMBER(10)     Y                         
FACIALCODEEX        VARCHAR2(100)  Y                         
EXTID               VARCHAR2(50)   Y                         
EXTROOTID           VARCHAR2(50)   Y                         
 CODE                VARCHAR2(20)                              
ISKS                NUMBER(5) 

Спасибо, за подсказку, вы оказались правы, добавили.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не находит записи в процедуре по запросу, хотя они есть.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]