1
0
mirror of https://github.com/php/doc-de.git synced 2026-04-24 07:28:05 +02:00
Files
2021-10-16 21:29:00 +03:00

143 lines
4.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: c2eca73ef79ebe78cebb34053e41b565af504c4f Maintainer: conni Status: ready -->
<refentry xml:id="function.pg-last-oid" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_last_oid</refname>
<refpurpose>Liefert den Objektbezeichner (OID) des zuletzt eingefügten Datensatzes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>int</type><type>false</type></type><methodname>pg_last_oid</methodname>
<methodparam><type>PgSql\Result</type><parameter>result</parameter></methodparam>
</methodsynopsis>
<para>
<function>pg_last_oid</function> wird benutzt, um den Object-Identifier
<varname>OID</varname> des zuletzt eingefügten Datensatzes zu ermitteln.
</para>
<para>
Ab PostgreSQL 7.2 ist das Feld OID optional und ab der Version 8.1 wird es
nicht mehr standardmäßig in den Tabellen enthalten sein. Falls eine Tabelle
ohne OID definiert wurde, muss mit der Funktion
<function>pg_result_status</function> geprüft werden, ob ein Datensatz
korrekt eingefügt wurde.
</para>
<para>
Um den Wert eines <literal>SERIAL</literal>-Feldes in einem gerade
eingefügten Datensatz zu erhalten, ist der Aufruf der PostgreSQL-Funktion
<literal>CURRVAL</literal> 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 <literal>pg_get_serial_sequence</literal> ermittelt werden.
</para>
<para>
PostgreSQL enthält eine Funktion <literal>LASTVAL</literal>, die den Wert
der zuletzt benutzten Sequenz der aktuellen Datenbanksitzung zurückgibt.
Sie macht die Angabe von Sequenz, Tabelle und Spalte überflüssig.
</para>
<note>
<para>
Diese Funktion ersetzt die Funktion <function>pg_getlastoid</function>.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>result</parameter></term>
<listitem>
&pgsql.parameter.result;
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Ein <type>int</type> oder <type>string</type> mit der OID des zuletzt eingefügten Datensatzes für
die angegebene <parameter>connection</parameter> oder &false;, falls ein
Fehler auftrat oder falls es keine OID gibt.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&pgsql.changelog.result-object;
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>pg_last_oid</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
// Mit der Datenbank verbinden
pg_connect("dbname=mark host=localhost");
// Beispieltabelle erzeugen
pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");
// Daten einfügen
$res = pg_query("INSERT INTO test VALUES (1)");
$oid = pg_last_oid($res);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_query</function></member>
<member><function>pg_result_status</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->