Hallo nächstes Problem.

Was ich machen will ist folgendes. Ich brauche eine Function die mir einen Datensatz in einer Tabelle erzeugt und mir die letzte eingefügte ID gibt, also nicht die letzte, sondern die zu genau diesem INSERT-Statement gehört.
Ich habe also folgende Funktion
Code:
-
- CREATE OR REPLACE FUNCTION addNewAdressGruppe(varchar /* bezeichnung */) RETURNS integer AS $$
- BEGIN
- INSERT INTO adressGruppen(bezeichnung) VALUES($1);
- SELECT currval('adressGruppen_adressgruppenid_seq');
- END;
- $$ LANGUAGE plpgsql VOLATILE;
-
Die wird auch ohne Probleme erzeugt, wenn ich jetzt aber folgendes ausführe:
Code:
-
- SELECT addNewAdressGruppe('455') ;
-
Dann bekomme ich diese Fehlermeldung:
Code:
-
- ERROR: query has no destination for result data
- SQL Status:42601
- Hinweis:If you want to discard the results of a SELECT, use PERFORM instead.
- Kontext:PL/pgSQL function "addnewadressgruppe" line 3 at SQL statement
-
Führe ich nur das INSERT-Statement und das SELECT currval('sequenz') aus funzt alles, was ist falsch an meiner Funktion?