This has been saved for the 8.2 release: http://momjian.postgresql.org/cgi-bin/pgpatches_hold
--------------------------------------------------------------------------- Matt Miller wrote: > This patch implements an optional EXACT keyword after the INTO keyword > of the PL/pgSQL SELECT INTO command. The motivation is to come closer > to Oracle's SELECT INTO behavior: when SELECTing INTO scalar targets, > raise an exception and leave the targets untouched if the query does not > return exactly one row. This patch does not go so far as to raise an > exception, but it can simplify porting efforts from PL/SQL. I also feel > that this EXACT behavior is overall a bit cleaner than the current > PL/pgSQL behavior. Maybe I've just been brainwashed by years of > Oracle'ing. > > Here are three excerpts from the patched PL/pgSQL documentation: > > "If the EXACT option is specified, then target will not be set unless > the query returns exactly one row" > > "You can check the special FOUND variable after a SELECT INTO to > determine whether the statement was successful. ... an EXACT query is > successful only if exactly 1 row is returned." > > "...GET DIAGNOSTICS (see Section 35.6.6) to retrieve ROW_COUNT. After a > SELECT INTO EXACT statement ROW_COUNT ... will be equal to 0, 1, or 2, > indicating no matching rows, exactly one matching row, or greater than > one matching row, respectively." [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match