Re: Why does this not work?
От | Stephan Szabo |
---|---|
Тема | Re: Why does this not work? |
Дата | |
Msg-id | 20020411105253.H35227-100000@megazone23.bigpanda.com обсуждение исходный текст |
Ответ на | Why does this not work? ("Johann Zuschlag" <zuschlag@online.de>) |
Ответы |
Re: Why does this not work?
|
Список | pgsql-general |
On Thu, 11 Apr 2002, Johann Zuschlag wrote: > -- Table: test > CREATE TABLE "test" ( > "test1" varchar(10) > ) WITH OIDS; > > -- Function: laenge() > CREATE FUNCTION "laenge"() RETURNS "opaque" AS ' > begin > if length(new.test1) > 10 then > new.test1 = substr(new.test1,1,9); > end if; > return new; > end > ' LANGUAGE 'plpgsql'; > > -- Trigger: laenge_trig ON test > CREATE TRIGGER "laenge_trig" BEFORE INSERT OR UPDATE ON "test" FOR > EACH ROW EXECUTE PROCEDURE laenge(); > > insert into test (test1) values ('0123456789012'); > > value too long for type character varying(10) The value is being coerced into the type before your trigger runs to be put into the values you're testing and it fails at that point.
В списке pgsql-general по дате отправления: