Em 13 de outubro de 2011 11:49, Guimarães Faria Corcete DUTRA, Leandro <l...@dutras.org> escreveu: > 2011/10/13 Alexsander Rosa <alexsander.r...@gmail.com>: >> >> Mas um UPDATE de uma linha que não existe não dá erro, apenas não faz >> nada pois não encontra nenhuma tupla que satisfaça a cláusula WHERE. >> No máximo retorna NOT FOUND numa procedure, mas não chega a dar erro. > > Pois é, e o código tem de capturar o NOT FOUND como qualquer outro > erro, e tratá-lo, seja abortando, convertendo num INSERT ou seja lá o > que fôr correto no caso.
Sintaxe do MERGE: MERGE INTO table_name USING table_reference ON (condition) WHEN MATCHED THEN UPDATE SET column1 = value1 [, column2 = value2 ...] WHEN NOT MATCHED THEN INSERT (column1 [, column2 ...]) VALUES (value1 [, value2 ... Fonte: http://en.wikipedia.org/wiki/Merge_%28SQL%29 -- Atenciosamente, Alexsander da Rosa http://rednaxel.com _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral