Как я могу создать тип таблицы с несколькими столбцами и использовать его в хранимой процедуре? - PullRequest
0 голосов
/ 30 марта 2020

Я создал тип таблицы, чтобы использовать ее в качестве входных данных в хранимой процедуре, чтобы процедура могла одновременно получать несколько идентификаторов клиентов. Но теперь мне также нужно использовать другие данные, относящиеся к клиентам, и мне было интересно, как я могу использовать созданный мной тип с несколькими настраиваемыми столбцами, а не только с идентификатором клиента.

Вот как сейчас:

CREATE TYPE T_CUSTOMERS IS TABLE OF NUMBER;

CREATE OR REPLACE PROCEDURE PR_SAMPLE (
    CUSTOMERS_LIST IN T_CUSTOMERS,
    C1 OUT SYS_REFCURSOR
)
IS
BEGIN
...
END;

1 Ответ

0 голосов
/ 30 марта 2020

Вы можете создать тип OBJECT, а затем создать тип таблицы, содержащий вновь созданные объекты.

CREATE TYPE T_CUSTOMERS_OBJ AS OBJECT (
    CUSTOMER_ID     NUMBER,
    CUSTOMER_NAME   VARCHAR2(300)
);
/

CREATE TYPE T_CUSTOMERS IS
    TABLE OF T_CUSTOMERS_OBJ;
/

Затем вы можете использовать тип T_CUSTOMERS в своей процедуре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...