This is a discussion on Re: PERFORM statement question within the pgsql Novice forums, part of the PostgreSQL category; --> Replying to myself: Woohoo! On a whim I changed PERFORM SELECT... to PERFORM and... something else broke. As I ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| 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/i...EMENTS-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_typ e, 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 ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly |