間違いだらけの備忘録

このページの内容は無保証でありこのページの内容によって直接、または間接に損害を受けられたとしても私は責任を取りません。

素敵仕様("と''の違い)

sqlだと
以下で通る文が
select count(*)  from pg_class where relkind = 'r';

plpgsqlだと
CREATE OR replace FUNCTION myfunc3() RETURNS integer
AS '
DECLARE
 arg1 integer;
BEGIN
 select count(*) into arg1 from pg_class where relkind = "r"
 RETURN arg1;
END
'LANGUAGE 'plpgsql';

SELECT myfunc3();

ERROR:  column "r" does not exist
CONTEXT:  SQL statement "SELECT  count(*) from pg_class where relkind = "r""
PL/pgSQL function "myfunc3" line 4 at select into variables

これは動く
CREATE OR replace FUNCTION myfunc3() RETURNS integer
AS '
DECLARE
 arg1 integer;
BEGIN
 select count(*) into arg1 from pg_class where relkind = ''r'';
 RETURN arg1;
END
'LANGUAGE 'plpgsql';

SELECT myfunc3();

39
このページにはhatena以外のサービスからのコンテンツが埋め込まれています。 hatenaによりGoogle AdSense 広告が埋め込まれています。