(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_last_oid — Devuelve el identificador de la última línea
pg_last_oid() sirve para recuperar el OID asignado a una línea insertada.
El campo OID se ha vuelto opcional desde PostgreSQL 7.2 y ya no estará presente por defecto en PostgreSQL 8.1. Cuando el campo OID no está presente en la tabla, el programador debe utilizar pg_result_status() para verificar si la línea ha sido correctamente insertada.
Para obtener el valor de un campo SERIAL
en una línea
insertada, es necesario utilizar la función
CURRVAL
de PostgreSQL nombrando la secuencia de la que se
requiere la última valor. Si el nombre de la secuencia es desconocido, la
función PostgreSQL 8.0 pg_get_serial_sequence
es
necesaria.
PostgreSQL 8.1 tiene una función LASTVAL
que devuelve el valor
de la secuencia más recientemente utilizada en la sesión. Esto permite evitar
nombrar la secuencia, la tabla o la columna.
Nota:
Anteriormente, esta función se llamaba pg_getlastoid().
result
An PgSql\Result instance, returned by pg_query(), pg_query_params() or pg_execute()(among others).
Un entier o chaîne de caractères que contiene el OID asignado a la línea más reciente insertada en
la conexión connection
especificada o false
en caso
de error o de OID no disponible.
Versión | Descripción |
---|---|
8.1.0 |
The result parameter expects an PgSql\Result
instance now; previously, a recurso was expected.
|
Ejemplo #1 Ejemplo con pg_last_oid()
<?php
// Conectar a la base de datos
pg_connect("dbname=mark host=localhost");
// Crear una tabla de ejemplo
pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");
// Insertar algunos datos
$res = pg_query("INSERT INTO test VALUES (1)");
$oid = pg_last_oid($res);
?>