pg_last_oid

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_last_oid Devuelve el identificador de la última línea

Descripción

pg_last_oid(PgSql\Result $result): string|int|false

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().

Parámetros

result

An PgSql\Result instance, returned by pg_query(), pg_query_params() or pg_execute()(among others).

Valores devueltos

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.

Historial de cambios

Versión Descripción
8.1.0 The result parameter expects an PgSql\Result instance now; previously, a recurso was expected.

Ejemplos

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);
?>

Ver también