- 2006-01-07
- pgsql
以前考えていたものがなんとなく形になりつつある。要するに、
foo.pgsp <% for i in 1..10 loop %> <%= i %> hello <br> <% end loop; %>
というファイルを作ってブラウザでそこにアクセスすると、
create or replace function foo() returns text as $$ declare res text := ''; begin for i in 1..10 loop res := res || i ; res := res || 'hello <br>\n'; end loop; return res; end;$$ language 'plpgsql'
という関数を作ってそれを実行した結果を返してくれるわけだ。GETパラメータなんかは以下のように指定しておくと、そのまま関数の引数になる(この辺のparserがまだやたらと適当なわけだが)。
foo.pgsp <%@ parameter="p1" type="int" %> ... 定義される関数 create or replace function foo(int) returns text as $$ declare res text := ''; p1 alias for $1; ...
まあ作ってる本人がOracleのmod_plsqlを使ったことが無いので大分違うものになってしまった気もする。