Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. create type myenum
  2. as enum (
  3. 'one',
  4. 'two',
  5. 'three',
  6. 'four'
  7. );
  8.  
  9. create table testtable (
  10. id integer PRIMARY KEY,
  11. name myenum
  12. );
  13.  
  14.  
  15. create or replace function random_enum(relation_name anyelement, out result anyenum)
  16. returns anyenum as $$
  17. begin
  18. execute format(
  19. $sql$
  20. SELECT elem
  21. FROM unnest(enum_range(NULL::%1$I)) AS elem
  22. ORDER BY random()
  23. LIMIT 1;
  24. $sql$,
  25. pg_typeof(relation_name)
  26. ) into result;
  27. return;
  28. end;
  29. $$ language plpgsql;
  30.  
  31. insert into testtable (id, name) values (1, random_enum(null::myenum));
  32.  
  33. select * from testtable;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement