powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ошибка выполнения запроса PLS-307: too many declarations of IS_EQUAL match this call
6 сообщений из 6, страница 1 из 1
Ошибка выполнения запроса PLS-307: too many declarations of IS_EQUAL match this call
    #39260978
x17.mstu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
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.
 Select 
 dwh_t.PERSON_ID, 
 source_t.PERSON_ID,
 ml_t.dmltype
     , ml_t.PERSON_ID AS PERSON_ID
  From 
 (
 Select
  ml_t.PERSON_ID AS PERSON_ID, 
 MAX(dmltype$$)KEEP(DENSE_RANK LAST ORDER BY sequence$$) dmltype    
  FROM
           NF_FRONT.MLOG$_NF_PERSON_FINANCIAL_@DWH_TO_NF ml_t
 WHERE ml_t.dmltype$$ IN ('U', 'D')
AND ml_t.PERSON_ID='37399516' 
 GROUP BY
         ml_t.PERSON_ID  
         )ml_t
   LEFT JOIN NF_FRONT.NF_PERSON_FINANCIAL_DATA@DWH_TO_NF source_t ON source_t.PERSON_ID = ml_t.PERSON_ID
    LEFT JOIN NF_PERSON_FINANCIAL_DATA dwh_t ON dwh_t.PERSON_ID = source_t.PERSON_ID  
    AND TRUNC(SYSDATE) - 1 BETWEEN dwh_t.DWH_VALID_FROM AND dwh_t.DWH_VALID_TO  
    AND NOT (
                                             1 = 1
                                            AND pkg_common.is_equal(dwh_t.PERSON_ID, source_t.PERSON_ID) = 1
                                            )


-------------------------------------------------------------------------
-- Функция определяет одинаковы ли два числа
-------------------------------------------------------------------------
FUNCTION is_equal
( p_col1 IN NUMBER
, p_col2 IN NUMBER)
RETURN INTEGER
IS
  vr_result INTEGER;
  cn_null CONSTANT NUMBER := 1 / 9999999;
BEGIN
  IF NVL(p_col1, cn_null) = NVL(p_col2, cn_null) THEN
    vr_result := 1;
  ELSE
    vr_result := 0;
  END IF;
  --
  RETURN vr_result;
END is_equal;



При выполнении запроса возникает ошибка PLS-307: too many declarations of IS_EQUAL match this call
Почему?
...
Рейтинг: 0 / 0
Ошибка выполнения запроса PLS-307: too many declarations of IS_EQUAL match this call
    #39260980
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x17.mstuПри выполнении запроса возникает ошибка PLS-307: too many declarations of IS_EQUAL match this call
Почему?1) Говнокод.
2) В pkg_common есть другая и тоже подходящая is_equal
...
Рейтинг: 0 / 0
Ошибка выполнения запроса PLS-307: too many declarations of IS_EQUAL match this call
    #39260982
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x17.mstu, функция перегружена (overloaded).
...
Рейтинг: 0 / 0
Ошибка выполнения запроса PLS-307: too many declarations of IS_EQUAL match this call
    #39260985
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ анси говнокод
...
Рейтинг: 0 / 0
Ошибка выполнения запроса PLS-307: too many declarations of IS_EQUAL match this call
    #39260990
x17.mstu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите какой функцией заменить или как поправить?
...
Рейтинг: 0 / 0
Ошибка выполнения запроса PLS-307: too many declarations of IS_EQUAL match this call
    #39261001
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x17.mstuПодскажите какой функцией заменить или как поправить?
Код: plsql
1.
decode(a, b, 0) is not null
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ошибка выполнения запроса PLS-307: too many declarations of IS_EQUAL match this call
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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