Some problems with (my?) PlSQL

Поиск
Список
Период
Сортировка
От Rui Pacheco
Тема Some problems with (my?) PlSQL
Дата
Msg-id 034601c20c13$755ce790$1601a8c0@devdomain.com
обсуждение исходный текст
Ответы Re: Some problems with (my?) PlSQL  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-sql
Hi,

I'm getting quite impressed with postgresql, but in the other end quite
disappointed with plpgsql...
I've been working successfully with postgresql 7.1.2, but I cannot use my
actual plpgsql in 7.2.1 (details bellow).

I wonder if there is already support for returning a rowset directly
(without that return cursor pointer workaround)?

Thanks in advance.

Rui


Parser error with many arguments:

----- example code:
DROP FUNCTION devUsersUpdate (INTEGER, VARCHAR, VARCHAR, VARCHAR, VARCHAR,
VARCHAR, VARCHAR, VARCHAR, VARCHAR, VARCHAR, VARCHAR, VARCHAR, VARCHAR);
CREATE FUNCTION devUsersUpdate (INTEGER, VARCHAR, VARCHAR, VARCHAR, VARCHAR,
VARCHAR, VARCHAR, VARCHAR, VARCHAR, VARCHAR, VARCHAR, VARCHAR, VARCHAR)
RETURNS INTEGER AS '
DECLARE
intId ALIAS FOR $1;strLogin ALIAS FOR $2;strPassword ALIAS FOR $3;strEmail ALIAS FOR $4;strTitle ALIAS FOR
$5;strFirstNameALIAS FOR $6;strLastName ALIAS FOR $7;strDateCreation ALIAS FOR $8;strDateLastAccess ALIAS FOR
$9;strAccLockedALIAS FOR $10;strAccDisabled ALIAS FOR $11;strPasswdChallenge ALIAS FOR $12;strPasswdChallengeResponse
ALIASFOR $13;
 

BEGIN
UPDATE TS_USERS SET LOGIN = strLogin, EMAIL = strEmail, TITLE = strTitle, FIRST_NAME =
strFirstName, LAST_NAME = strLastName, DATE_CREATION = TIMESTAMP (strDateCreation), DATE_LAST_ACCESS = TIMESTAMP
(strDateLastAccess),ACC_LOCKED =
 
strAccLocked, ACC_DISABLED = strAccDisabled, PASSWD_CHALLENGE = strPasswdChallenge, PASSWD_CHALLENGE_RESPONSE =
strPasswdChallengeResponseWHEREID = intId;
 
RETURN 1;
END;
' LANGUAGE 'plpgsql';
-------

While not reaching the limit of arguments, this function, when called, gives
me this error:

Query error [SELECT devUsersUpdate ('1', 'root', '', 'root@somehost.com',
'', 'Super', 'User', '0001-01-01', '0001-01-01', 'N', 'N', '', '')]: ERROR:
parser: parse error at or near "$6"

which, by the way, didn't happened in postgresql 7.1.2...

Anyone had this problem or knows the answer to it?




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

Предыдущее
От: Jean-Luc Lachance
Дата:
Сообщение: Re: Updating a table from another table
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: Some problems with (my?) PlSQL