вернуть полную строку из функции оракула sys_refcursor - PullRequest
0 голосов
/ 24 января 2019

У меня есть эта функция:

create function get_next_unlocked_id
  return varchar2
is
  cRefCursor sys_refcursor;
  rRecord    MESSAGES%rowtype;
begin
  -- open cursor. No locks so far
  open cRefCursor for 'Select s.guid,
       s.message_id,
       s.status,
       ...
       s.last_answer_date,
       s.response_message_id
from messages s,
     providers bp,
     groups bg
where status = ''SENT''
  and s.real_bsp_guid = bp.guid
  and bp.bsp_group_id = bg.guid
  and bg.guid = ''123''
order by insert_date for
  update of s.GUID skip locked';

  -- we fetch and lock at the same time one record
  fetch cRefCursor into rRecord;

  -- close cursor
  close cRefCursor;

  -- return ID or any other attribute(s)
  return rRecord.GUID;

end;

И это работает.Но мне нужно вернуть full row вместо только GUID.Стол имеет много столбцов.Должен ли я перечислить их все (~ 30) или как мне сделать это проще?

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