mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-30 19:00:29 +08:00
On Wed, 2002-05-29 at 01:41, Tom Lane wrote:
> > > Is it a good idea to provide an example (such as the above), or should I > > just try and describe the behaviour? > > Examples are generally good things ... OK, the attached documentation patch provides some simple examples of use of tablename as a parameter, %ROWTYPE and %TYPE. In the end I decided that the documentation is literally correct, but hard to follow without any examples explicitly showing the use of a table name as a parameter. Andrew McMillan
This commit is contained in:
parent
240de617fb
commit
eeb1dd5068
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/plsql.sgml,v 2.58 2002/05/03 04:11:07 tgl Exp $
|
||||
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/plsql.sgml,v 2.59 2002/06/15 19:34:51 momjian Exp $
|
||||
-->
|
||||
|
||||
<chapter id="plpgsql">
|
||||
@ -371,6 +371,9 @@ END;
|
||||
user_id INTEGER;
|
||||
quantity NUMERIC(5);
|
||||
url VARCHAR;
|
||||
myrow tablename%ROWTYPE;
|
||||
myfield tablename.fieldname%TYPE;
|
||||
arow RECORD;
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
@ -448,6 +451,15 @@ BEGIN
|
||||
-- Some computations here
|
||||
END;
|
||||
' LANGUAGE 'plpgsql';
|
||||
|
||||
|
||||
CREATE FUNCTION use_many_fields(tablename) RETURNS TEXT AS '
|
||||
DECLARE
|
||||
in_t ALIAS FOR $1;
|
||||
BEGIN
|
||||
RETURN in_t.f1 || in_t.f3 || in_t.f5 || in_t.f7;
|
||||
END;
|
||||
' LANGUAGE 'plpgsql';
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect2>
|
||||
@ -491,6 +503,17 @@ END;
|
||||
row could be from a view). The fields of the row type inherit the
|
||||
table's field size or precision for data types such as
|
||||
<type>char(n)</type>.
|
||||
<programlisting>
|
||||
CREATE FUNCTION use_two_tables(tablename) RETURNS TEXT AS '
|
||||
DECLARE
|
||||
in_t ALIAS FOR $1;
|
||||
use_t table2name%ROWTYPE;
|
||||
BEGIN
|
||||
SELECT * INTO use_t FROM table2name WHERE ... ;
|
||||
RETURN in_t.f1 || use_t.f3 || in_t.f5 || use_t.f7;
|
||||
END;
|
||||
' LANGUAGE 'plpgsql';
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user