[pgsql-jp: 34221] Re: plpgsqlのバグ
HOTTA Michihide
hotta @ net-newbie.com
2004年 10月 30日 (土) 16:54:13 JST
堀田@長崎市です。
On Sat, 30 Oct 2004 15:51:15 +0900
Subject: [pgsql-jp: 34217] plpgsqlのバグ
"CM" <illuminate33 @ hotmail.com> wrote:
「plpgsql(自体)のバグ」じゃないですよね?
誤解を生むようなサブジェクトはやめましょう:-)
> $ vi 20041028sp.sql
> CREATE OR REPLACE FUNCTION insert_dt_from_n ()
> RETURNS opaque AS '
(略)
> ccallinoneu.reception_date=to_date(((NEW.reception_year+1988)*10000
> +(NEW.reception_month)*100+NEW.reception_day),
> 'yyyymmdd');
(略)
> LANGUAGE 'plpgsql';
(略)
> どうしても最後のyyyymmddのあたりでコンパイルエラーしてしまいま
> す。
素人考えですが、RETURNS opaque AS の次の "'" に対応する "'" が、
'yyyymmdd' の先頭の "'" になっちゃおかしいですよね?
http://search.net-newbie.com/pgsql/sql-syntax.html
> 4.1.2.1. 文字列定数
> SQLの文字列定数は任意の文字の並びを単一引用符("'")で囲ったも
> ので、'This is a string'のようになります。 SQLでは2つ連続した
> 単一引用符を入力することにより、単一引用符を文字列の中に埋め込
> むことができます(例:'Dianne''s horse')。 PostgreSQLでは、単
> 一引用符の代わりにバックスラッシュ("\")を使うこともできます。
>(例:'Dianne\'s horse')
このへんを読んでみたら、うまくいったりしないですかね?
--
堀田 倫英 <hotta @ net-newbie.com> <http://www.net-newbie.com>
GPG fingerprint : 7C3F E633 CC38 C53E E61A CF08 F8EF CA01 4ACB C9F5
pgsql-jp メーリングリストの案内