Guest User

Untitled

a guest
May 24th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. CREATE TABLE a (a_id int PRIMARY KEY, a text);
  2. INSERT INTO a VALUES (1, 'foo'), (2, 'bar');
  3.  
  4. TABLE a;
  5.  
  6. DO $$
  7. DECLARE
  8. r record;
  9. j jsonb;
  10.  
  11. BEGIN
  12.  
  13. FOR r IN SELECT * FROM a
  14. LOOP
  15.  
  16. SELECT row_to_json(r) INTO j;
  17. RAISE info '%', j;
  18.  
  19. END LOOP;
  20.  
  21. END
  22. $$
  23.  
  24. DO $$
  25. DECLARE
  26. r record;
  27. j jsonb;
  28. prc_curs refcursor;
  29.  
  30. BEGIN
  31.  
  32. prc_curs = "Функция, которая возвращает курсор"(параметры);
  33.  
  34. LOOP
  35. FETCH prc_curs INTO r;
  36. exit WHEN NOT FOUND;
  37. --SELECT row_to_json(r)::jsonb j;
  38. -- RAISE info '%', row_to_json(r)::jsonb;--r;
  39.  
  40. j = row_to_json(r)::jsonb;
  41.  
  42. j = jsonb_set(j, '{i_doc_id}', '197404470001', false);
  43.  
  44. j = jsonb_set(j, '{vc_op_status$}', '"I"', true);
  45.  
  46. -- RAISE NOTICE '%', j;
  47.  
  48. PERFORM "Функция, которая принимает JSONB"(j);
  49.  
  50.  
  51. END LOOP;
  52.  
  53. END
  54. $$
Add Comment
Please, Sign In to add comment