PHP Handbuch
Zurück |  | Weiter

# pg_last_oid

(PHP 4 >= 4.2.0, PHP 5)

pg_last_oid -- Gibt den Objektbezeichner (OID) des zuletzt eingefügten Datensatzes zurück

## Beschreibung

int pg_last_oid ( resource result )

pg_last_oid() wird benutzt, um den Object Identifier `OID` des zuletzt eingefügten Datensatzes zu ermitteln.

Ab PostgreSQL 7.2 ist das Feld OID optional und ab der Version 8.1 wird es nicht mehr standardmässig in den Tabellen enthalten sein. Falls eine Tabelle ohne OID definiert wurde, muss mit der Funktion pg_result_status() geprüft werden, ob ein Datensatz korrekt eingefügt wurde.

Um den Wert eines `SERIAL`-Feldes in einem gerade eingefügten Datensatz zu erhalten, ist der Aufruf der PostgreSQL-Funktion `CURRVAL` notwendig. Dem Aufruf muss der Name der in dieser Datenbanksitzung zuletzt benutzten Sequenz übergeben werden. Ist der Name dieser Sequenz unbekannt, muss er ab PostgreSQL 8.0 mittels der Funktion `pg_get_serial_sequence` ermittelt werden.

PostgreSQL enthält eine Funktion `LASTVAL`, die den Wert der zuletzt benutzten Sequenz der aktuellen Datenbanksitzung zurückgibt. Sie macht die Angabe von Sequenz, Tabelle und Spalte überflüssig.

> Anmerkung: Diese Funktion ersetzt die Funktion pg_getlastoid().

## Parameter Liste

`result`

  PostgreSQL Abfrageergebnis, das (unter anderem) von pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

## Rückgabewerte

Ein string mit der OID des zuletzt eingefügten Datensatzes für die angegebene `connection` oder `FALSE`, falls ein Fehler auftrat oder falls es keine OID gibt.

## Beispiele

Beispiel 1. pg_last_oid() Beispiel
`<?php $pgsql_conn = pg_connect("dbname=mark host=localhost"); $res1 = pg_query("CREATE TABLE test (a INTEGER) WITH OIDS"); $res2 = pg_query("INSERT INTO test VALUES (1)"); $oid = pg_last_oid($res2); ?>`

## Siehe auch

pg_query()
pg_result_status()

Zurück | Zum Anfang | Weiter
pg_last_notice | Nach oben | pg_lo_close