Re: variables in procedures

Поиск
Список
Период
Сортировка
От Josh Berkus
Тема Re: variables in procedures
Дата
Msg-id web-517138@davinci.ethosmedia.com
обсуждение исходный текст
Ответ на variables in procedures  (Martín Marqués <martin@bugs.unl.edu.ar>)
Список pgsql-sql
Martin,

> How can I distinguish between the name and the value of a variable?

You need to name your variables something *different* from your column
names.  Otherwise, you will get unexpected errors.

A practice I usually follow is prefixing my column-substitiution
variables with "v_".  This allows me, and the PL/pgSQL parser, to keep
the variables straight from the columns.  I also need to fix your
procedure in a couple of places.  Thus:

CREATE FUNCTION test(VARCHAR) RETURNS INTEGER AS '
DECLARE   v_col1 ALIAS FOR $1;  v_result INT;
BEGIN select col1 INTO v_result    from tab where col1 = v_col1; RETURN v_result;
END;´ LANGUAGE 'plpgsql';

Other SQL-procedural languages (e.g. Transact-SQL) force you to prefix
your variables with special characters.  In PL/pgSQL, it's up to you to
maintain consistency.

-Josh Berkus
______AGLIO DATABASE SOLUTIONS___________________________                                      Josh Berkus Complete
informationtechnology      josh@agliodbs.com  and data management solutions       (415) 565-7293 for law firms, small
businesses       fax 621-2533   and non-profit organizations.      San Francisco
 


В списке pgsql-sql по дате отправления:

Предыдущее
От: Jeff Eckermann
Дата:
Сообщение: Re: contracting tables
Следующее
От: Roberto Mello
Дата:
Сообщение: Re: Any available solution to port CONNECT BY of oracle to postgresql