1

Temat: Rożnica między dolarem a apostrofem

Mam procedurę:
 
CREATE OR REPLACE FUNCTION f23() RETURNS SETOF osoby
AS $$
SELECT * FROM osoby
WHERE nazwisko LIKE 'K%';
$$ LANGUAGE 'sql';
SELECT * FROM f23();

Jeśli zamienię znak dolara na apostrof, procedura nie chce się wykonać.
Czy ma to związek z LIKE ?

2

Odp: Rożnica między dolarem a apostrofem

To co wpiszesz po AS to nic innego jak ogranicznik  ciala funkcji. Wiec jesli po AS wpiszesz ' i w ciele funkcji uzyjesz ' (tu uzyles w LIKE) to postgres mysli ze w tym miejscu konczy sie cialo (i pewnie zglasza bledy bo przeciez w rzeczywistosci sie nie konczy). Jeśli chcesz jako separatora (po AS) ciala uzyc ' i w ciele funkcji uzyc ' to w ciele zamiast ' musisz napisac '' (dwa apostrofy).