Re: PERFORM statement question
От | Keith Worthington |
---|---|
Тема | Re: PERFORM statement question |
Дата | |
Msg-id | 20041217012303.M56176@narrowpathinc.com обсуждение исходный текст |
Ответ на | PERFORM statement question ("Keith Worthington" <keithw@narrowpathinc.com>) |
Список | pgsql-novice |
Replying to myself: Woohoo! On a whim I changed PERFORM SELECT... to PERFORM and... something else broke. As I am sure the experienced programmers are saying "Well of course you items are over specified." Yeah, yeah. We all have to learn. :-) Fixed that and wham, it worked. Now I need to add a couple more conditionals and I will almost be there. Keith Hi All, Well, I am continueing to make progress on my function to transfer or update data as required. However I have hit another snag. After I successfully create the function below I atttempt to run it with the command SELECT xfer_gl_account_data(); And get the error WARNING: Error occurred while executing PL/pgSQL function xfer_gl_account_data WARNING: line 11 at assignment ERROR: parser: parse error at or near "SELECT" at character 9 This was an error regarding not using a PERFORM statement but now the PERFORM is in there and it still won't work. I have read http://www.postgresql.org/docs/7.3/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-PERFORM to no avail. Obviously I am not using the PERFORM command peroperly but I do not understand. Hints greatly appreciated. Kind Regards, Keith CREATE OR REPLACE FUNCTION xfer_gl_account_data() RETURNS INTEGER AS ' DECLARE rcrd_gl_account RECORD; BEGIN FOR rcrd_gl_account IN SELECT data_transfer.tbl_peachtree_gl_account.account_id, data_transfer.tbl_peachtree_gl_account.description, data_transfer.tbl_peachtree_gl_account.account_type, data_transfer.tbl_peachtree_gl_account.inactive FROM data_transfer.tbl_peachtree_gl_account ORDER BY data_transfer.tbl_peachtree_gl_account.account_id LOOP PERFORM SELECT peachtree.tbl_gl_account.account_id FROM peachtree.tbl_gl_account WHERE peachtree.tbl_gl_account.account_id = rcrd_gl_account.account_id; IF NOT FOUND THEN INSERT INTO peachtree.tbl_gl_account ( peachtree.tbl_gl_account.account_id, peachtree.tbl_gl_account.description, peachtree.tbl_gl_account.account_type, peachtree.tbl_gl_account.inactive ) VALUES ( rcrd_gl_account.account_id, rcrd_gl_account.description, rcrd_gl_account.account_type, rcrd_gl_account.inactive ); ELSE UPDATE peachtree.tbl_gl_account SET peachtree.tbl_gl_account.description = rcrd_gl_account.description, peachtree.tbl_gl_account.account_type = rcrd_gl_account.account_type, peachtree.tbl_gl_account.inactive = rcrd_gl_account.inactive WHERE peachtree.tbl_gl_account.account_id = rcrd_gl_account.account_id; END IF; END LOOP; RETURN 1; END; ' LANGUAGE 'plpgsql'; ______________________________________________ 99main Internet Services http://www.99main.com
В списке pgsql-novice по дате отправления: