{"id":2112,"date":"2014-12-15T12:56:30","date_gmt":"2014-12-15T03:56:30","guid":{"rendered":"http:\/\/www23.atpages.jp\/~inoni\/?p=2112"},"modified":"2017-10-20T17:33:22","modified_gmt":"2017-10-20T08:33:22","slug":"postgressql%e8%a6%9a%e6%9b%b8-%e9%96%a2%e6%95%b0%e3%81%ae%e6%88%bb%e3%82%8a%e5%80%a4%e3%82%92%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%89%e3%81%ab","status":"publish","type":"post","link":"http:\/\/anada.cloudfree.jp\/?p=2112","title":{"rendered":"PostgresSQL\u899a\u66f8 \u95a2\u6570\u306e\u623b\u308a\u5024\u3092\u30ec\u30b3\u30fc\u30c9\u306b"},"content":{"rendered":"<p>\u95a2\u6570\u306e\u623b\u308a\u5024\u3068\u3044\u3046\u3068\u3001\u666e\u901a\u306f\uff11\u3064\u306e\u5024\u306a\u306e\u3060\u3051\u308c\u3069\u3001\u8907\u6570\u884c\u3068\u3063\u3066\u304d\u305f\u3044\u3068\u304b\u3001\u30c6\u30fc\u30d6\u30eb\u3068\u3057\u3066\u3068\u3063\u3066\u304d\u305f\u3044\u3068\u304b\u601d\u3046\u3002<\/p>\n<p><a href=\"http:\/\/www.postgresql.jp\/document\/9.0\/html\/xfunc-sql.html\" title=\"\u554f\u3044\u5408\u308f\u305b\u8a00\u8a9e\uff08SQL\uff09\u95a2\u6570\">\u554f\u3044\u5408\u308f\u305b\u8a00\u8a9e\uff08SQL\uff09\u95a2\u6570<\/a><\/p>\n<p>\u3092\u898b\u3066\u3044\u308b\u3068\u3067\u304d\u306a\u304f\u306a\u3044\u3089\u3057\u3044\u3051\u308c\u3069\u3001<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE FUNCTION sum_n_product_with_tab (x int)\n    RETURNS TABLE(sum int, product int) AS $$\n    SELECT $1 + tab.y, $1 * tab.y FROM tab;\n$$ LANGUAGE SQL;\n<\/pre>\n<p>\u3067\u3001LANGUAGE\u304c\u300cSQL\u300d\u3068\u306a\u3063\u3066\u3044\u3066\u3001\u300cplpgsql\u300d\u3067\u4f5c\u3063\u3066\u3044\u308b\u3082\u306e\u3060\u3068RETURNS\u306e\u5f8c\u308d\u3092TABLE(\u307b\u306b\u3083\u307b\u306b\u3083)\u306b\u5909\u3048\u305f\u3060\u3051\u3067\u306f\u3046\u307e\u304f\u3044\u304b\u306a\u304b\u3063\u305f\u3002<br \/>\n\u623b\u308a\u5024\u304c<br \/>\n<strong> sum | product<br \/>\n&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n 50  |  aaa<br \/>\n 66  |  bbb<\/strong><\/p>\n<p>\u3068\u304b\u306b\u306a\u3063\u3066\u307b\u3057\u3044\u3093\u3060\u3051\u3069\u3001<br \/>\n<strong>sum_n_product_with_tab<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n( 50, aaa)<br \/>\n( 66, bbb)<\/strong><br \/>\n\u306b\u306a\u3063\u3066\u3057\u307e\u3063\u3066\u3001\u305b\u3063\u304b\u304fTABLE\u306b\u3057\u3066\u3044\u308b\u610f\u5473\u306a\u3044\u3093\u3058\u3083\u306a\u3044\uff1f\u3068\u3044\u3046\u3053\u3068\u306b\u306a\u3063\u305f\u3002<\/p>\n<p>\u3075\u3080\u3002\u3069\u3046\u3059\u308c\u3070\u3088\u3044\u306e\u3058\u3083\u30fb\u30fb\u30fb<\/p>\n<p>\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u305b\u3081\u3066\u8907\u6570\u884c\u3068\u3063\u3066\u304f\u308b\u3053\u3068\u306b\u3057\u3088\u3046\u3002<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE OR REPLACE FUNCTION hoge(parm_cd character varying)\n  RETURNS numeric  AS\n$BODY$\nDECLARE\n    \u30fb\u30fb\u30fb\u30fb\nBEGIN\n\n  CREATE TEMP TABLE wk_master(code numeric(2,0))\n  \u30fb\u30fb\u30fb\u30fb\n  RETURN QUERY SELECT code FROM wk_master;\n  DROP TABLE wk_master;\n\nEND;\n$BODY$\n  LANGUAGE plpgsql VOLATILE\n  COST 100\n  ROWS 1000;\n<\/pre>\n<p>RETURN QUERY\u30fb\u30fb\u30fb\u3068\u3059\u308b\u3068\u3001\u8907\u6570\u884c\u3067\u8fd4\u3057\u3066\u304f\u308c\u308b\u3002<\/p>\n<p>\u4eca\u65e5\u306f\u3053\u306e\u8fba\u3067\u7d42\u4e86\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u95a2\u6570\u306e\u623b\u308a\u5024\u3068\u3044\u3046\u3068\u3001\u666e\u901a\u306f\uff11\u3064\u306e\u5024\u306a\u306e\u3060\u3051\u308c\u3069\u3001\u8907\u6570\u884c\u3068\u3063\u3066\u304d\u305f\u3044\u3068\u304b\u3001\u30c6\u30fc\u30d6\u30eb\u3068\u3057\u3066\u3068\u3063\u3066\u304d\u305f\u3044\u3068\u304b\u601d\u3046\u3002 \u554f\u3044\u5408\u308f\u305b\u8a00\u8a9e\uff08SQL\uff09\u95a2\u6570 \u3092\u898b\u3066\u3044\u308b\u3068\u3067\u304d\u306a\u304f\u306a\u3044\u3089\u3057\u3044\u3051\u308c\u3069\u3001 CREATE FUNCTION sum [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[184,66],"class_list":["post-2112","post","type-post","status-publish","format-standard","hentry","category-sql","tag-db","tag-postgresql"],"_links":{"self":[{"href":"http:\/\/anada.cloudfree.jp\/index.php?rest_route=\/wp\/v2\/posts\/2112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/anada.cloudfree.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/anada.cloudfree.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/anada.cloudfree.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/anada.cloudfree.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2112"}],"version-history":[{"count":1,"href":"http:\/\/anada.cloudfree.jp\/index.php?rest_route=\/wp\/v2\/posts\/2112\/revisions"}],"predecessor-version":[{"id":2721,"href":"http:\/\/anada.cloudfree.jp\/index.php?rest_route=\/wp\/v2\/posts\/2112\/revisions\/2721"}],"wp:attachment":[{"href":"http:\/\/anada.cloudfree.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/anada.cloudfree.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2112"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/anada.cloudfree.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}