Ответы пользователя по тегу Oracle
  • Как объявить массив в PL/SQL, чтобы потом использовать в IN?

    Да.
    Вы можете написать свой утильный тип, например:
    create or replace type string_tab as table of varchar2(4000 char)
    /

    Объявить константу на уровне метода, тела пакета или в спеки пакета
    c_customers constant string_tab := string_tab('IBM', 'Hewlett Packard', 'Microsoft');

    И использовать в select
    -- Если константа пакетная, то <package_name>.c_customers
    select *
    from customers
    where customer_name in (select column_value from table(c_customers));

    альтернативный вариант, но со своими минусами :-)
    select *
    from customers
    where customer_name member of c_customers;
    Ответ написан
    Комментировать