Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Объединение двух коллекции / 8 сообщений из 8, страница 1 из 1
03.05.2021, 00:27
    #40068005
Объединение двух коллекции
Добрый вечер! Есть функция которая возвращает коллекцию данных.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
FUNCTION  search_alll(p_genre IN VARCHAR2 DEFAULT NULL, p_year IN movies.year%TYPE DEFAULT NULL)
RETURN search_block_pkg.t_data
IS
    v_dataset_g search_block_pkg.t_data;
    v_dataset_y search_block_pkg.t_data;
    v_dataset search_block_pkg.t_data;
BEGIN
    v_dataset_g := search_block_pkg.search_for_genre(p_genre);
    v_dataset_y := search_block_pkg.search_for_year(p_year);
    
    
    SELECT *
    BULK COLLECT INTO v_dataset
       FROM TABLE(v_dataset_g) T1 INNER JOIN TABLE(v_dataset_y) T2 USING(id);
       RETURN v_dataset;
END;



Тут я объеденил 2 коллекции. Но к сожелению не работает) Подскажите пожалуйста, как правильно объеденить эти коллекции)
Код: plsql
1.
2.
3.
4.
SELECT *
    BULK COLLECT INTO v_dataset
       FROM TABLE(v_dataset_g) T1 INNER JOIN TABLE(v_dataset_y) T2 USING(id);
       RETURN v_dataset;
...
Рейтинг: 0 / 0
03.05.2021, 03:25
    #40068012
Sayan Malakshinov
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение двух коллекции
...
Рейтинг: 0 / 0
04.05.2021, 09:21
    #40068256
Sah
Sah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение двух коллекции
Абылайханн,

Код: plsql
1.
2.
3.
v_dataset:= v_dataset_g MULTISET UNION v_dataset_y ;

 



Только для объектного типа нужно реализовать метод MAP по уникальным полям или уникальному ID, типа так:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
   MAP MEMBER FUNCTION match
      RETURN INTEGER
   IS
      v_hash         INT;
   BEGIN
      SELECT ORA_HASH (field1||fied2) INTO v_hash FROM DUAL;

      RETURN v_hash;
   END match;
...
Рейтинг: 0 / 0
04.05.2021, 11:29
    #40068282
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение двух коллекции
Sah
Код: plsql
1.
MULTISET UNION

Только для объектного типа нужно реализовать метод MAP
Для multiset union all не нужно.
Sah
типа так:
Код: plsql
1.
ORA_HASH (field1||fied2)

Неправильный совет = медвежья услуга.
...
Рейтинг: 0 / 0
05.05.2021, 10:38
    #40068507
Sah
Sah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение двух коллекции
Elic
Sah
Код: plsql
1.
MULTISET UNION

Только для объектного типа нужно реализовать метод MAP
Для multiset union all не нужно.



Блин, ага. У меня был multiset union DISTINCT

Elic
Sah
типа так:
Код: plsql
1.
ORA_HASH (field1||fied2)

Неправильный совет = медвежья услуга.
А что тут не так? Если пришли данные без уникального ключа из внешних источников?
...
Рейтинг: 0 / 0
05.05.2021, 11:53
    #40068537
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение двух коллекции
Sah
А что тут не так? Если пришли данные без уникального ключа из внешних источников?
Не понимать проблему даже после намёка - это свойство быдлокодеров.
Код: plsql
1.
2.
'1'||'11'
'11'||'1'

...
Рейтинг: 0 / 0
06.05.2021, 09:15
    #40068704
Sah
Sah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение двух коллекции
Elic,

Ну, намёка изначально не было. После намёка - осознал. Просто в разрезе "знай свои данные" - мой пример, это то что мне нужно было.

Для такого случая:
Код: plaintext
1.
2.
3.
Фамилия    Имя              Отчество
Люсак      Хосе Мария       Гонсалес
Люсак      Хосе             Мария Гонсалес
должен получить одинаковый хеш.
...
Рейтинг: 0 / 0
06.05.2021, 10:07
    #40068708
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение двух коллекции
Sah
Код: plaintext
1.
2.
Люсак      Хосе Мария       Гонсалес
Люсак      Хосе             Мария Гонсалес
должен получить одинаковый хеш.
Подумай лучше.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Объединение двух коллекции / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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