<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=PostgreSQL%2FPostgre_SQL%2FROWTYPE</id>
		<title>PostgreSQL/Postgre SQL/ROWTYPE - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=PostgreSQL%2FPostgre_SQL%2FROWTYPE"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=PostgreSQL/Postgre_SQL/ROWTYPE&amp;action=history"/>
		<updated>2026-04-05T12:19:06Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=PostgreSQL/Postgre_SQL/ROWTYPE&amp;diff=4548&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=PostgreSQL/Postgre_SQL/ROWTYPE&amp;diff=4548&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:56Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://sqle.ru/index.php?title=PostgreSQL/Postgre_SQL/ROWTYPE&amp;diff=4549&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=PostgreSQL/Postgre_SQL/ROWTYPE&amp;diff=4549&amp;oldid=prev"/>
				<updated>2010-05-26T10:13:55Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==ROWTYPE assign through &amp;quot;select into&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE employee (&lt;br /&gt;
postgres(#     ID         int,&lt;br /&gt;
postgres(#     name       varchar(10),&lt;br /&gt;
postgres(#     salary     real,&lt;br /&gt;
postgres(#     start_date date,&lt;br /&gt;
postgres(#     city       varchar(10),&lt;br /&gt;
postgres(#     region     char(1)&lt;br /&gt;
postgres(# );&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (1,  &amp;quot;Jason&amp;quot;, 40420,  &amp;quot;02/01/94&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (2,  &amp;quot;Robert&amp;quot;,14420,  &amp;quot;01/02/95&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (3,  &amp;quot;Celia&amp;quot;, 24020,  &amp;quot;12/03/96&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (4,  &amp;quot;Linda&amp;quot;, 40620,  &amp;quot;11/04/97&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;N&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (5,  &amp;quot;David&amp;quot;, 80026,  &amp;quot;10/05/98&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;W&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (6,  &amp;quot;James&amp;quot;, 70060,  &amp;quot;09/06/99&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;N&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (7,  &amp;quot;Alison&amp;quot;,90620,  &amp;quot;08/07/00&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (8,  &amp;quot;Chris&amp;quot;, 26020,  &amp;quot;07/08/01&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (9,  &amp;quot;Mary&amp;quot;,  60020,  &amp;quot;06/09/02&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from employee;&lt;br /&gt;
 id |  name  | salary | start_date |   city    | region&lt;br /&gt;
----+--------+--------+------------+-----------+--------&lt;br /&gt;
  1 | Jason  |  40420 | 1994-02-01 | New York  | W&lt;br /&gt;
  2 | Robert |  14420 | 1995-01-02 | Vancouver | N&lt;br /&gt;
  3 | Celia  |  24020 | 1996-12-03 | Toronto   | W&lt;br /&gt;
  4 | Linda  |  40620 | 1997-11-04 | New York  | N&lt;br /&gt;
  5 | David  |  80026 | 1998-10-05 | Vancouver | W&lt;br /&gt;
  6 | James  |  70060 | 1999-09-06 | Toronto   | N&lt;br /&gt;
  7 | Alison |  90620 | 2000-08-07 | New York  | W&lt;br /&gt;
  8 | Chris  |  26020 | 2001-07-08 | Vancouver | N&lt;br /&gt;
  9 | Mary   |  60020 | 2002-06-09 | Toronto   | W&lt;br /&gt;
(9 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE FUNCTION &amp;quot;get_data&amp;quot; (integer) RETURNS text AS &amp;quot;&lt;br /&gt;
postgres&amp;quot;#   DECLARE&lt;br /&gt;
postgres&amp;quot;#     -- Declare an alias for the function argument,&lt;br /&gt;
postgres&amp;quot;#     eid ALIAS FOR $1;&lt;br /&gt;
postgres&amp;quot;#     found_employee employee%ROWTYPE;&lt;br /&gt;
postgres&amp;quot;#   BEGIN&lt;br /&gt;
postgres&amp;quot;#     SELECT INTO found_employee * FROM employee WHERE id = eid;&lt;br /&gt;
postgres&amp;quot;#     RETURN found_employee.name || &amp;quot;&amp;quot; &amp;quot;&amp;quot; || found_employee.city;&lt;br /&gt;
postgres&amp;quot;#   END;&lt;br /&gt;
postgres&amp;quot;# &amp;quot; LANGUAGE &amp;quot;plpgsql&amp;quot;;&lt;br /&gt;
CREATE FUNCTION&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select get_data(id) from employee;&lt;br /&gt;
     get_data&lt;br /&gt;
------------------&lt;br /&gt;
 Jason New York&lt;br /&gt;
 Robert Vancouver&lt;br /&gt;
 Celia Toronto&lt;br /&gt;
 Linda New York&lt;br /&gt;
 David Vancouver&lt;br /&gt;
 James Toronto&lt;br /&gt;
 Alison New York&lt;br /&gt;
 Chris Vancouver&lt;br /&gt;
 Mary Toronto&lt;br /&gt;
(9 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# drop function get_data (integer);&lt;br /&gt;
DROP FUNCTION&lt;br /&gt;
postgres=# drop table employee;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using the FOR loop with %ROWTYPE==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE &amp;quot;books&amp;quot; (&lt;br /&gt;
postgres(#      &amp;quot;id&amp;quot;           integer NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;title&amp;quot;        text NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;author_id&amp;quot;    integer,&lt;br /&gt;
postgres(#      &amp;quot;subject_id&amp;quot;   integer,&lt;br /&gt;
postgres(#      Constraint &amp;quot;books_id_pkey&amp;quot; Primary Key (&amp;quot;id&amp;quot;)&lt;br /&gt;
postgres(# );&lt;br /&gt;
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index &amp;quot;books_id_pkey&amp;quot; for table &amp;quot;books&amp;quot;&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into books values (7808,  &amp;quot;Java&amp;quot;,                  4156, 9);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (4513,  &amp;quot;Javascript&amp;quot;,            1866, 15);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (4267,  &amp;quot;C#&amp;quot;,                    2001, 15);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1608,  &amp;quot;Oracle&amp;quot;,                1809, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1590,  &amp;quot;Sql Server&amp;quot;,            1809, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (25908, &amp;quot;Postgre SQL&amp;quot;,          15990, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1501,  &amp;quot;Python&amp;quot;,                2031, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (190,   &amp;quot;Java by API&amp;quot;,             16, 6);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1234,  &amp;quot;2D&amp;quot;,                   25041, 3);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (2038,  &amp;quot;C&amp;quot;,                     1644, 0);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (156,   &amp;quot;C++&amp;quot;,                    115, 9);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41473, &amp;quot;Programming Python&amp;quot;,    7805, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41477, &amp;quot;Learning Python&amp;quot;,       7805, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41478, &amp;quot;Perl Cookbook&amp;quot;,         7806, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41472, &amp;quot;Practical PostgreSQL&amp;quot;,  1212, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from books;&lt;br /&gt;
  id   |        title         | author_id | subject_id&lt;br /&gt;
-------+----------------------+-----------+------------&lt;br /&gt;
  7808 | Java                 |      4156 |          9&lt;br /&gt;
  4513 | Javascript           |      1866 |         15&lt;br /&gt;
  4267 | C#                   |      2001 |         15&lt;br /&gt;
  1608 | Oracle               |      1809 |          2&lt;br /&gt;
  1590 | Sql Server           |      1809 |          2&lt;br /&gt;
 25908 | Postgre SQL          |     15990 |          2&lt;br /&gt;
  1501 | Python               |      2031 |          2&lt;br /&gt;
   190 | Java by API          |        16 |          6&lt;br /&gt;
  1234 | 2D                   |     25041 |          3&lt;br /&gt;
  2038 | C                    |      1644 |          0&lt;br /&gt;
   156 | C++                  |       115 |          9&lt;br /&gt;
 41473 | Programming Python   |      7805 |          4&lt;br /&gt;
 41477 | Learning Python      |      7805 |          4&lt;br /&gt;
 41478 | Perl Cookbook        |      7806 |          4&lt;br /&gt;
 41472 | Practical PostgreSQL |      1212 |          4&lt;br /&gt;
(15 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# -- Using the FOR loop with %ROWTYPE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE FUNCTION extract_title (integer) RETURNS text AS &amp;quot;&lt;br /&gt;
postgres&amp;quot;#   DECLARE&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#      -- Declare an alias for function argument.&lt;br /&gt;
postgres&amp;quot;#     sub_id ALIAS FOR $1;&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#      -- Declare a variable to hold book titles and set its default&lt;br /&gt;
postgres&amp;quot;#      --  value to a new line.&lt;br /&gt;
postgres&amp;quot;#     text_output TEXT :=&amp;quot;&amp;quot;\n&amp;quot;&amp;quot;;&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#      -- Declare a variable to hold rows from the&lt;br /&gt;
postgres&amp;quot;#      -- books table.&lt;br /&gt;
postgres&amp;quot;#     row_data books%ROWTYPE;&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#   BEGIN&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#      -- Iterate through the results of a query.&lt;br /&gt;
postgres&amp;quot;#     FOR row_data IN SELECT * FROM books&lt;br /&gt;
postgres&amp;quot;#     WHERE subject_id = sub_id ORDER BY title  LOOP&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#        -- Insert the title of a matching book into the text_output variable.&lt;br /&gt;
postgres&amp;quot;#       text_output := text_output || row_data.title || &amp;quot;&amp;quot;\n&amp;quot;&amp;quot;;&lt;br /&gt;
postgres&amp;quot;#     END LOOP;&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#       -- Return the list of books.&lt;br /&gt;
postgres&amp;quot;#     RETURN text_output;&lt;br /&gt;
postgres&amp;quot;#   END;&lt;br /&gt;
postgres&amp;quot;# &amp;quot; LANGUAGE &amp;quot;plpgsql&amp;quot;;&lt;br /&gt;
ERROR:  function &amp;quot;extract_title&amp;quot; already exists with same argument types&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# SELECT extract_title(2);&lt;br /&gt;
 extract_title&lt;br /&gt;
---------------&lt;br /&gt;
 Sql Server&lt;br /&gt;
(1 row)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# drop table books;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using the %ROWTYPE attribute==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE &amp;quot;authors&amp;quot; (&lt;br /&gt;
postgres(#      &amp;quot;id&amp;quot; integer NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;last_name&amp;quot; text,&lt;br /&gt;
postgres(#      &amp;quot;first_name&amp;quot; text,&lt;br /&gt;
postgres(#      Constraint &amp;quot;authors_pkey&amp;quot; Primary Key (&amp;quot;id&amp;quot;)&lt;br /&gt;
postgres(# );&lt;br /&gt;
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index &amp;quot;authors_pkey&amp;quot; for table &amp;quot;authors&amp;quot;&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into authors values (1111,  &amp;quot;Martin&amp;quot;,       &amp;quot;Jason&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1212,  &amp;quot;Worsley&amp;quot;,      &amp;quot;Robert&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (15990, &amp;quot;Mathews&amp;quot;,      &amp;quot;John&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (25041, &amp;quot;Smith&amp;quot;,       &amp;quot;Williams&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (16,    &amp;quot;Alcott&amp;quot;,       &amp;quot;May&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (4156,  &amp;quot;King&amp;quot;,         &amp;quot;Stephen&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1866,  &amp;quot;Herbert&amp;quot;,      &amp;quot;Margaret&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1644,  &amp;quot;Hogarth&amp;quot;,      &amp;quot;Celia&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (2031,  &amp;quot;Brown&amp;quot;,        &amp;quot;Wise&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (115,   &amp;quot;Poe&amp;quot;,          &amp;quot;Allen&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (7805,  &amp;quot;Lutz&amp;quot;,         &amp;quot;Mark&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (7806,  &amp;quot;Rice&amp;quot;,         &amp;quot;Tom&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1533,  &amp;quot;Black&amp;quot;,        &amp;quot;Chris&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1717,  &amp;quot;Brite&amp;quot;,        &amp;quot;Linda&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (2112,  &amp;quot;Larry&amp;quot;,        &amp;quot;Edward&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (2001,  &amp;quot;Clarke&amp;quot;,       &amp;quot;Alison&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1213,  &amp;quot;Green&amp;quot;,        &amp;quot;Mary&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from authors;&lt;br /&gt;
  id   | last_name | first_name&lt;br /&gt;
-------+-----------+------------&lt;br /&gt;
  1111 | Martin    | Jason&lt;br /&gt;
  1212 | Worsley   | Robert&lt;br /&gt;
 15990 | Mathews   | John&lt;br /&gt;
 25041 | Smith     | Williams&lt;br /&gt;
    16 | Alcott    | May&lt;br /&gt;
  4156 | King      | Stephen&lt;br /&gt;
  1866 | Herbert   | Margaret&lt;br /&gt;
  1644 | Hogarth   | Celia&lt;br /&gt;
  2031 | Brown     | Wise&lt;br /&gt;
   115 | Poe       | Allen&lt;br /&gt;
  7805 | Lutz      | Mark&lt;br /&gt;
  7806 | Rice      | Tom&lt;br /&gt;
  1533 | Black     | Chris&lt;br /&gt;
  1717 | Brite     | Linda&lt;br /&gt;
  2112 | Larry     | Edward&lt;br /&gt;
  2001 | Clarke    | Alison&lt;br /&gt;
  1213 | Green     | Mary&lt;br /&gt;
(17 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# -- Using the %ROWTYPE attribute&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE FUNCTION get_author (integer) RETURNS text AS &amp;quot;&lt;br /&gt;
postgres&amp;quot;#   DECLARE&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#     -- Declare an alias for the function argument,&lt;br /&gt;
postgres&amp;quot;#     -- which should be the id of the author.&lt;br /&gt;
postgres&amp;quot;#     author_id ALIAS FOR $1;&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#     found_author authors%ROWTYPE;&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#   BEGIN&lt;br /&gt;
postgres&amp;quot;#     SELECT INTO found_author * FROM authors WHERE id = author_id;&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#     -- Return the first&lt;br /&gt;
postgres&amp;quot;#     RETURN found_author.first_name || &amp;quot;&amp;quot; &amp;quot;&amp;quot; || found_author.last_name;&lt;br /&gt;
postgres&amp;quot;#&lt;br /&gt;
postgres&amp;quot;#   END;&lt;br /&gt;
postgres&amp;quot;# &amp;quot; LANGUAGE &amp;quot;plpgsql&amp;quot;;&lt;br /&gt;
CREATE FUNCTION&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# -- Results of the new get_author() function&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# SELECT get_author(1212);&lt;br /&gt;
   get_author&lt;br /&gt;
----------------&lt;br /&gt;
 Robert Worsley&lt;br /&gt;
(1 row)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# drop table authors;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>