We are trying to execute TRANSLATE on a couple hundred rows of data. We have a temporary table containing ID's to rows that need to be updated using TRANSLATE. The odd part is if we attempt to select say two rows, the command is executed properly and the information is updated. However, when we try to run it against 200 rows, it says that 200 rows were updated, but in inspecting the data, they have not been updated. Is there a limitation to the number of rows that can be updated using TRANSLATE in a single query?
We're doing something like:
UPDATE TABLE_A SET COLUMN_TO_UPDATE =
TRANSLATE(COLUMN_TO_UPDATE,'ñ','n')
WHERE ID IN (SELECT ID FROM TEMP_TABLE);

COMMITting in theUPDATEsession? (Common mistake, may as well ask). This won't really be possible to answer without test data, as no error message is returned and it /should/ just work. There is definitely something else in play here.... – Phil Nov 30 '12 at 14:58TRANSLATE()replaces characters with one another & not whole strings? If you want to replace whole strings, useREGEXP_REPLACE(). By the way, just because it says200 rows updateddoesn't mean that theTRANSLATE()function actually did anything.COLUMN_TO_UPDATEmay have merely been updated to be the same as the previous value. – Phil Nov 30 '12 at 15:12