(PHP 4 >= 4.2.0, PHP 5)
pg_last_oid — Retourne l'identifiant de la dernière ligne
pg_last_oid() sert à récupérer le OID assigné à une ligne insérée.
Le champ OID est devenu optionnel depuis PostgreSQL 7.2 et ne sera plus présent par défaut dans PostgreSQL 8.1. Lorsque le champ OID n'est pas présent dans la table, le programmeur doit utiliser pg_result_status() pour vérifier si la ligne a été correctement insérée.
Pour obtenir la valeur d'un champ SERIAL dans une ligne insérée, il est nécessaire d'utiliser la fonction CURRVAL de PostgreSQL en nommant la séquence à qui la dernière valeur est requise. Si le nom de la séquence est inconnu, la fonction PostgreSQL 8.0 pg_get_serial_sequence est nécessaire.
PostgreSQL 8.1 a une fonction LASTVAL qui retourne la valeur de la séquence la plus récemment utilisée de la session. Ceci permet d'éviter de nommer la séquence, la table ou la colonne.
Note: Auparavant, cette fonction s'appelait pg_getlastoid().
Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).
Une chaîne de caractères contenant le OID assigné à la plus récente ligne insérée dans la connexion connection spécifiée ou FALSE en cas d'erreur ou de OID indisponible.
Exemple #1 Exemple avec pg_last_oid()
<?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);
?>