Как создать переменную списка строк в хранимой процедуре и как использовать ее в другом запросе? - PullRequest
2 голосов
/ 24 марта 2019

Я хочу сохранить список строк в переменной, которая, в свою очередь, я хочу использовать в другом запросе.

Это моя хранимая процедура:

CREATE PROCEDURE store_validated_sku_id
    (variable_sku_id OUT VARCHAR2)
AS
BEGIN
    SELECT vsku.SKU_ID INTO variable_sku_id 
    FROM CHELSEA_prdcataloga.vs_sku_discont_details_test discontd
    JOIN CHELSEA_prdcataloga.vsx_dcs_sku vsku ON discontd.SWAP_SKU = vsku.JDA_SKU_ID 
    JOIN CHELSEA_prdcataloga.auto_ship_view bcc ON bcc.sku_id = vsku.SKU_ID 
    WHERE vsku.web_eligible = 1 
      AND vsku.discontinued = 0 
      AND bcc.auto_ship_eligible = 1;

    dbms_output.put_line('variable_sku_id = '|| variable_sku_id);
END store_validated_sku_id;

Я хочу, чтобы variable_sku_id был списком строк, и хочу использовать его в другом запросе.

1 Ответ

0 голосов
/ 24 марта 2019
create procedure store_validated_sku_id(variable_sku_id OUT VARCHAR2)
 as
BEGIN
  SELECT listagg(vsku.sku_id, ',') within group(order by vsku.sku_id)
    INTO variable_sku_id
    FROM chelsea_prdcataloga.vs_sku_discont_details_test discontd
    JOIN chelsea_prdcataloga.vsx_dcs_sku vsku ON discontd.swap_sku = vsku.jda_sku_id
    JOIN chelsea_prdcataloga.auto_ship_view bcc ON bcc.sku_id = vsku.sku_id
   WHERE vsku.web_eligible = 1        
     AND vsku.discontinued = 0
     AND bcc.auto_ship_eligible = 1;

  dbms_output.put_line('variable_sku_id = ' || variable_sku_id);

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