> I think you'd be well advised to rethink your table layout so you don't > need so much dynamic SQL. The above is going to suck on both > performance and readability grounds, and it doesn't look like it's > accomplishing anything you couldn't do by combining all the Rating > tables into one table with an extra key column. Yes, it sucks, but I have to live with it right now (I've also removed a lot of code from the function to make it more readable for you) There are a lot of other parameters and execute commands :-( Since I don't run >=8.2 I cant use FOR-EXECUTE-UPDATE-RETURNING. So I will have to find another way. But if UPDATE sets FOUND, what is the reason for EXECUTE not to set FOUND if the query executed is an UPDATE? Is it because it is impossible to tell in advance what kind of query an EXECUTE statement will acctually execute?