compact_named_subq_actions.sql 611 B

123456789101112131415161718192021222324252627
  1. pragma CompactNamedExprs;
  2. $src = select 1;
  3. define subquery $sub1() as
  4. select * from $src;
  5. end define;
  6. $foo = 1+2;
  7. define subquery $sub2($sub, $extra) as
  8. select a.*, $extra as extra, $foo as another from $sub() as a
  9. end define;
  10. select * from $sub1();
  11. select * from $sub2($sub1, 1);
  12. select * from $sub2($sub1, "aaa");
  13. define action $hello_world($sub, $name, $suffix?) as
  14. $name = $name ?? ($suffix ?? "world");
  15. select "Hello, " || $name || "!" from $sub();
  16. end define;
  17. do empty_action();
  18. do $hello_world($sub1, null);
  19. do $hello_world($sub1, null, "John");
  20. do $hello_world($sub1, null, "Earth");