code_junkie

Datasource returned from Informix Stored Proc

Nov 13th, 2011
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. EXECUTE FUNCTION curr_sess(2009,'SP')
  2.  
  3. CREATE TEMP TABLE t12(yr smallint, sess char(4));
  4.  
  5. INSERT INTO t12 EXECUTE FUNCTION curr_sess(2009,'SP');
  6.  
  7. begin procedure
  8.  
  9. DEFINE _yr smallint;
  10. DEFINE _sess char(4);
  11.  
  12. SELECT
  13. DISTINCT
  14. sess_vw.yr,
  15. sess_vw.sess,
  16. sess_vw.sess_sort
  17. FROM
  18. sess_vw
  19. ORDER BY
  20. sess_vw.sess_sort DESC
  21. INTO temp tmp_sess WITH NO LOG;
  22.  
  23. SELECT
  24. FIRST 1
  25. tmp_sess.yr,
  26. tmp_sess.sess
  27. FROM
  28. tmp_sess
  29. WHERE
  30. tmp_sess.sess_sort = sess_sort(iYear,sSess)
  31. INTO temp tmp_final WITH NO LOG;
  32.  
  33. FOREACH cursor1 FOR
  34. SELECT
  35. tmp_final.yr,
  36. tmp_final.sess
  37. INTO
  38. _yr,
  39. _sess
  40. FROM
  41. tmp_final
  42. RETURN _yr, _sess WITH RESUME;
  43. END FOREACH;
  44.  
  45. DROP TABLE tmp_sess;
  46. DROP TABLE tmp_final;
  47.  
  48. end procedure
  49.  
  50. SELECT
  51. FIRST 1
  52. sess_vw.sess_sort
  53. FROM
  54. sess_vw
  55. WHERE
  56. sess_vw.sess_sort > sess_sort(2009,'SP')
  57. ORDER BY
  58. sess_vw.sess_sort ASC
  59.  
  60. SELECT
  61. *
  62. FROM
  63. TABLE(next_sess(2009,'SP'))
  64.  
  65. CREATE PROCEDURE r12() RETURNING INT, INT;
  66. RETURN 1, 2 WITH RESUME;
  67. RETURN 2, 3 WITH RESUME;
  68. END PROCEDURE;
  69.  
  70. CREATE TEMP TABLE t12(c1 INT, c2 INT);
  71.  
  72. INSERT INTO t12 EXECUTE PROCEDURE r12();
  73.  
  74. CREATE TEMP TABLE t12(yr smallint, sess char(4));
  75.  
  76. CREATE PROCEDURE curr_sess(yearnum SMALLINT, sesscode CHAR(2))
  77. RETURNING SMALLINT AS yr, CHAR(4) AS sess;
  78. RETURN yearnum, (sesscode || 'AD') WITH RESUME;
  79. RETURN yearnum, (sesscode || 'BC') WITH RESUME;
  80. END PROCEDURE;
  81.  
  82. CREATE PROCEDURE r12(yearnum SMALLINT, sesscode CHAR(2))
  83. DEFINE yr SMALLINT;
  84. DEFINE sess CHAR(4);
  85. FOREACH EXECUTE PROCEDURE curr_sess(yearnum, sesscode) INTO yr, sess
  86. INSERT INTO t12 VALUES(yr, sess);
  87. END FOREACH;
  88. END PROCEDURE;
  89.  
  90. EXECUTE PROCEDURE r12(2009,'SP');
  91.  
  92. SELECT * from t12;
Add Comment
Please, Sign In to add comment