Aunque estoy usando mySQL (por ahora), no quiero ningún SQL específico de DB.Pregunta ANSI SQL: ¿cómo insertar o actualizar un registro si ya existe?
Estoy tratando de insertar un registro si no existe, y actualizo un campo si existe. Quiero usar ANSI SQL.
La tabla es como la siguiente:
create table test_table (id int, name varchar(16), weight double) ;
//test data
insert into test_table (id, name, weight) values(1,'homer', 900);
insert into test_table (id, name, weight) values(2,'marge', 85);
insert into test_table (id, name, weight) values(3,'bart', 25);
insert into test_table (id, name, weight) values(4,'lisa', 15);
If the record exists, I want to update the weight (increase by say 10)
Terminé usando INSERT .. EN ACTUALIZACIÓN DE LLAVE DUPLICADA – morpheous
MS SQL Server 2005 no es compatible con la sintaxis MERGE. Solo SQL Server 2008 y superior lo admite. –
Parece que la versión beta del servidor sql 2005 lo tenía pero no la versión final. 2008 lo consiguió. Referencia: http://geekswithblogs.net/SabotsShell/archive/2005/08/20/50706.aspx – Alex