pg_last_oid
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_last_oid — Retorna o OID da última linha
Descrição
pg_last_oid() é usado para recuperar o OID atribuído a uma linha inserida.
O campo OID tornou-se um campo opcional no PostgreSQL 7.2 e não estará presente por padrão no PostgreSQL 8.1. Quando o campo OID não está presente em uma tabela, o programador deve usar pg_result_status() para verificar se a inserção foi bem-sucedida.
Para obter o valor de um campo SERIAL
em uma linha inserida,
é necessário utilizar a função CURRVAL
do PostgreSQL,
nomeando a sequência cujo último valor é requerido. Se o
nome da sequência for desconhecido, a função pg_get_serial_sequence
do PostgreSQL 8.0 é necessária.
O PostgreSQL 8.1 possui uma função LASTVAL
que retorna
o valor da sequência usada mais recentemente na sessão. Isso evita
a necessidade de nomear completamente a sequência, tabela ou coluna.
Note:
Esta função costumava ser chamada de pg_getlastoid().
Parâmetros
result
-
Uma instância de PgSql\Result, retornada por pg_query(), pg_query_params() ou pg_execute() (entre outras).
Valor Retornado
Um int ou string contendo o OID atribuído à linha inserida mais
recentemente na connection
especificada, ou false
por erro ou
nenhum OID disponível.
Registro de Alterações
Versão | Descrição |
---|---|
8.1.0 |
O parâmetro result agora espera uma instância de PgSql\Result;
anteriormente, um resource era esperado.
|
Exemplos
Example #1 Exemplo de pg_last_oid()
<?php
// Conecta ao banco de dados
pg_connect("dbname=mark host=localhost");
// Cria uma tabela de exemplo
pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");
// Insira alguns dados nela
$res = pg_query("INSERT INTO test VALUES (1)");
$oid = pg_last_oid($res);
?>
Veja Também
- pg_query() - Executa uma consulta
- pg_result_status() - Obtém o status do resultado da consulta