Hirdetés

Új hozzászólás Aktív témák

  • nyunyu
    félisten

    Üdv!

    PostgreSQL 10-ben egy függvényt írok, melyben szeretnék létrehozni egy view-t. A problémám az, hogy nem tudok a view létrehozásakor változót használni.
    Tehát példuál a WHERE feltételnél: a "x BETWEEN valtozo1 AND valtozo2" rész problémás. Azt írja hibaként, hogy column "valtozo1" does not exist. Ha a select ugyanez, de nem view-t hozok létre, hanem táblát, akkor tökéletesen működik.

    Van erre valami megoldás? Vagy tényleg nem lehet PostgreSQL függvényben lévő VIEW létrehozásakor változóra hivatkozni?

    Ha az a cél, hogy egy külső alkalmazás paraméterezetten hívjon egy eljárást/függvényt, akkor nem tudod refcursorral visszaadni a szűrt halmazt?

    Legalábbis mi Oracle 11g alapon így szoktuk visszaadni az adatokat:
    procedure get_order_status(p_group_id number, p_posting_id number, p_id number, p_order_num varchar2, c out sys_refcursor) is
    begin
    open c for
    select
    i.group_id,
    i.posting_id,
    i.id,
    i.order_num,
    o.status as status,
    to_char(o.status_dt,'yyyy-mm-dd hh24:mi:ss') as status_ts
    from input i
    left join s_order o
    on o.order_num= i.order_num
    where i.id = p_id
    or i.group_id = p_group_id
    or i.posting_id = p_posting_id
    or i.order_num = p_order_num;
    end;

    Aztán Javaban fetchelik a kurzort.

Új hozzászólás Aktív témák