powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Куда пропал столбец??
3 сообщений из 3, страница 1 из 1
Куда пропал столбец??
    #40099812
stil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объявляю в спецификации пакета коллекцию строчек таблицы: успешно
Заполняю из этой таблицы коллекцию через BULK COLLECT: успешно

Пытаюсь обратиться к таблице через TABLE - и в ней почему то ORACLE не видит одного из столбцов. Как так?

Код ниже
Код: 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.
 
  
 CREATE OR REPLACE PACKAGE PKG_CLIENTS
...
 TYPE t_crm_cl IS TABLE OF CRM_CLIENTS@dblink%ROWTYPE;
 T_CRM_CLIENTS_REC t_crm_cl;
END;

CREATE OR REPLACE PACKAGE BODY PKG_CLIENTS
AS

...

        SELECT *
        BULK COLLECT
        INTO T_CF_CRM_CLIENTS_REC
        FROM CF_CRM_CLIENTS@dblink cf;

        MERGE INTO CLIENTS dst
        USING
        (
            SELECT
                cf.CRM_ID,
                ...
                pc.ID AS CLIENT_ID
            FROM
                --CRM_CLIENTS@dblink cf
                TABLE(T_CRM_CLIENTS_REC) cf
                INNER JOIN M_CLIENTS pc on pc.CRM_ID = cf.CRM_ID



При компиляции получаю: cf.CRM_ID: invalid identifier

Столбец CRM_ID безусловно есть: если убрать коллекционный синтаксис все прекрасно работает
v12
...
Рейтинг: 0 / 0
Куда пропал столбец??
    #40099853
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stil,

Как-то не очень понятно, сначала ты объявляешь переменную T_CRM_CLIENTS_REC типа t_crm_cl.
Код: plsql
1.
2.
TYPE t_crm_cl IS TABLE OF CRM_CLIENTS@dblink%ROWTYPE;
T_CRM_CLIENTS_REC t_crm_cl;


Потом ты делаешь BULK COLLECT в другую переменную, T_CF_CRM_CLIENTS_REC
Код: plsql
1.
2.
3.
4.
SELECT *
BULK COLLECT
INTO T_CF_CRM_CLIENTS_REC
FROM CF_CRM_CLIENTS@dblink cf;


А где ты ее обьявил? Я не увидел.

Потом делаешь merge используя T_CRM_CLIENTS_REC.
Код: plsql
1.
TABLE(T_CRM_CLIENTS_REC)


А зачем тогда T_CF_CRM_CLIENTS_REC?
...
Рейтинг: 0 / 0
Куда пропал столбец??
    #40099932
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
...

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


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