Dies ist ein Hilfe-Forum für alle Fragen rund um Linux, Netzwerk, Datenbanken und Programmiersprachen.
Anmelden    Forum    Registrieren    Suche    FAQ

Foren-Übersicht » Datenbanken » Postgres




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
 
Autor Nachricht
 Betreff des Beitrags: Functionen/Rückgabewerte und Sequenzen?
 Beitrag Verfasst: Sa. 16.Feb.2008 19:22 
Offline
Bluescreener
Bluescreener

Registriert: Do. 14.Feb.2008 12:33
Beiträge: 6
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:
  1.  
  2. CREATE OR REPLACE FUNCTION addNewAdressGruppe(varchar /* bezeichnung */) RETURNS integer AS $$
  3.   BEGIN
  4.     INSERT INTO adressGruppen(bezeichnung) VALUES($1);
  5.     SELECT currval('adressGruppen_adressgruppenid_seq');
  6.    END;
  7. $$ LANGUAGE plpgsql VOLATILE;
  8.  


Die wird auch ohne Probleme erzeugt, wenn ich jetzt aber folgendes ausführe:
Code:
  1.  
  2. SELECT addNewAdressGruppe('455') ;
  3.  


Dann bekomme ich diese Fehlermeldung:
Code:
  1.  
  2. ERROR: query has no destination for result data
  3. SQL Status:42601
  4. Hinweis:If you want to discard the results of a SELECT, use PERFORM instead.
  5. Kontext:PL/pgSQL function "addnewadressgruppe" line 3 at SQL statement
  6.  


Führe ich nur das INSERT-Statement und das SELECT currval('sequenz') aus funzt alles, was ist falsch an meiner Funktion?


Nach oben 
 Profil  
 
 Betreff des Beitrags: Re: Functionen/Rückgabewerte und Sequenzen?
 Beitrag Verfasst: So. 17.Feb.2008 05:54 
Offline
Bluescreener
Bluescreener

Registriert: So. 27.Jan.2008 09:54
Beiträge: 11
Wohnort: Wiener Neustadt
Du musst den Wert in eine Variable einlesen oder direkt "RETURN currval ..." machen. Sont weißt er ja nicht, was retour kommen soll. Das Ganze ist übrigens auch transaktionssicher / threadsafe - bis auf das RETURN ist somit alles perfekt.

lg,

hans

_________________
--
Cybertec Schönig & Schönig GmbH
Hans-Jürgen Schönig
URL: http://www.postgresql-support.de
PostgreSQL Support, Schulungen, Cluster, Consulting


Nach oben 
 Profil  
 
 Betreff des Beitrags: Re: Functionen/Rückgabewerte und Sequenzen?
 Beitrag Verfasst: So. 17.Feb.2008 09:06 
Offline
Bluescreener
Bluescreener

Registriert: Do. 14.Feb.2008 12:33
Beiträge: 6
Super funktioniert, Danke. :)


Nach oben 
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
 
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Foren-Übersicht » Datenbanken » Postgres



Ähnliche Beiträge

Problem mit Sequenzen Allgemein frotscher
 

Wer ist online?

Mitglieder in diesem Forum: Keine Mitglieder und 1 Gast

 
 

 
Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
Linkpartner:
Chat-Krefeld -  Tief im See -  Tierheilkunde-Forum  -  Bodybuilding-Forum -  geekdiscussions.org