thank you. I use the cursor because I really do an update against a different table based on a value from the select in the original table. I am eagerly awaiting 8.0 and the ability to issue an Update Table1 Set Table1.col = Table2.col Using (Select y from Table2)
Mike On Thu, Jan 13, 2005 at 04:58:06PM -0500, Tom Lane wrote: > "Mike G." <[EMAIL PROTECTED]> writes: > > I have a function that reads through one table via a cursor to make updates > > to a different table. There is a row in this table with a column that has > > a null value. The following row, in that same column, is not null. > > When the cursor loops through the table it seems to be treating the non > > null row as being null. The fetch should be inserting the new non value > > into the variable but doesn't appear to be. > > You did "select count(name)", which counts the number of non-null > occurrences of "name", ie 2. So the loop stops after two iterations, > and never gets to the last row. > > I'd lose the count() step entirely and have the loop be driven solely by > the cursor. Actually, why use a cursor at all, as opposed to a FOR IN > SELECT loop? > > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 6: Have you searched our list archives? > > http://archives.postgresql.org ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match