Hrm...why is this wrong?
От | Ken Corey |
---|---|
Тема | Hrm...why is this wrong? |
Дата | |
Msg-id | 01020413373508.18716@kenlinux.bithub.org обсуждение исходный текст |
Ответы |
Re: Hrm...why is this wrong?
|
Список | pgsql-sql |
In trying to use a plpgsql stored proc, I'm getting an error I don't understand. When the select at the bottom of this email is executed, I'm getting the message: ERROR: parser: parse error at or near "$1" Any ideas? <Gads I hope it's not something amazingly simple, but I'm sure it is...;^> -- Ken Corey, CTO Atomic Interactive, Ltd. select 'drop FUNCTION IU_EMPLOYEE(varchar(255), ...);' as Progress; drop FUNCTION IU_EMPLOYEE( varchar(255), varchar(255), varchar(255), varchar(255), varchar(255), varchar(255), varchar(255),varchar(255), varchar(255), varchar(255), varchar(255)); select 'create FUNCTION IU_EMPLOYEE(varchar(255), ...)' as Progress; create FUNCTION IU_EMPLOYEE( varchar(255), varchar(255), varchar(255), varchar(255), varchar(255), varchar(255), varchar(255),varchar(255), varchar(255), varchar(255), varchar(255)) RETURNS INT4 AS ' DECLARE user_name_in alias for $1; passwd_in alias for $2; firstname_in alias for $3; lastname_in alias for$4; company_in alias for $5; addr1_in alias for $6; addr2_in alias for $7; city_in alias for $8; state_in aliasfor $9; postcode_in alias for $10; country_in alias for $11; userid_calc INT4; companyid_calc INT4; BEGIN userid_calc := 0; select into companyid_calc COMPANY_ID from COMPANY where COMPANY_NAME = company_in; if (companyid_calc is null) then insert into COMPANY (COMPANY_NAME) values (company_in); companyid_calc := currval(''company_company_id_seq''); end if; if (companyid_calc is not null) then insert into EMPLOYEE ( COMPANY_ID , AUTHORIZED , RIGHTS , USERNAME, PASSWD , FIRSTNAME , LASTNAME , ADDR1 , ADDR2 , CITY , STATE , POSTCODE , COUNTRY) values ( companyid_calc,0,0,username_in, password_in, firstname_in, lastname_in, company_in,addr1_in,addr2_in,city_in, state_in,postcode_in,country_in ); userid_calc := currval(''employee_employee_id_seq''); else rollback; return 0; end if; return userid_calc; END;' LANGUAGE 'plpgsql'; select iu_employee('handtest','password','hand','test','handcompany', 'handaddr','handaddr2','handcity','handstate','handpostcode','handcountry');
В списке pgsql-sql по дате отправления: