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 по дате отправления: