DatriseETL con IA

Herramienta gratuita

Generador de SQL upsert / MERGE

Cada destino escribe «insertar o actualizar» de forma distinta, y casi todas las diferencias muerden a las 3 de la mañana: un MERGE que falla por filas duplicadas en el origen, un ON CONFLICT sin índice que lo respalde, un DELETE en Redshift que deja filas fantasma. Elige el destino, nombra tu tabla, clave y columnas, y obtén la sentencia correcta para ese motor.

Las sentencias salen de los perfiles de carga que Datrise usa para aterrizar entidades de CRM en cada destino, incluida la guarda por marca de agua que impide que una fila antigua sobrescriba una más nueva. Nada de lo que escribes sale del navegador; el enlace para compartir codifica el formulario en la URL.

Genera la sentencia

La URL se actualiza mientras escribes; compártela para entregar el formulario exacto.

Sentencia · INSERT … ON CONFLICT DO UPDATE

INSERT INTO "deals" ("id", "name", "stage", "amount", "owner_id", "updated_at")
SELECT "id", "name", "stage", "amount", "owner_id", "updated_at"
FROM "deals_staging"
ON CONFLICT ("id") DO UPDATE SET
  "name" = EXCLUDED."name",
  "stage" = EXCLUDED."stage",
  "amount" = EXCLUDED."amount",
  "owner_id" = EXCLUDED."owner_id",
  "updated_at" = EXCLUDED."updated_at"
WHERE "deals"."updated_at" IS NULL
   OR "deals"."updated_at" < EXCLUDED."updated_at";

Cómo hace el upsert cada destino

DestinoSentenciaMecánica
PostgreSQLSintaxis y trampasINSERT … ON CONFLICT DO UPDATEuna marca de agua sobre el updated-at de cada entidad, aplicada con INSERT … ON CONFLICT DO UPDATE
MySQLSintaxis y trampasINSERT … ON DUPLICATE KEY UPDATEuna marca de agua sobre updated-at, aplicada con INSERT … ON DUPLICATE KEY UPDATE
Microsoft SQL ServerSintaxis y trampasMERGE … WITH (HOLDLOCK)una marca de agua sobre updated-at, aplicada con una sentencia MERGE
Oracle DatabaseSintaxis y trampasMERGE INTO … USINGuna marca de agua sobre updated-at, aplicada con MERGE INTO
SnowflakeSintaxis y trampasMERGE INTO … QUALIFY-deduped USINGcargas en staging fusionadas por id estable con MERGE, de modo que los créditos escalan con el volumen de cambios, no con el tamaño de la tabla
Google BigQuerySintaxis y trampasMERGE with partition-pruned targetañade a una tabla de staging y luego hace MERGE por id estable sobre la tabla particionada de destino
Amazon RedshiftSintaxis y trampasDELETE … USING + INSERT (staging pattern)COPY desde archivos en staging y luego un merge de borrar-e-insertar por id estable
Databricks SQL WarehouseSintaxis y trampasDelta Lake MERGE INTOun MERGE de Delta por id estable, con historial de cambios disponible vía time travel
ClickHouseSintaxis y trampasINSERT into ReplacingMergeTree + FINALinserta en un ReplacingMergeTree con clave de id estable, de modo que la última versión gana en el merge
DuckDBSintaxis y trampasINSERT OR REPLACE / ON CONFLICT DO UPDATEreescribe las entidades cambiadas en la base local (o en Parquet) en cada ejecución
Amazon AthenaSintaxis y trampasMERGE INTO (Iceberg table, engine v3)escribe nuevas particiones Parquet y las registra en el Glue Data Catalog
Amazon S3 Data LakeSintaxis y trampasappend partition + latest-version viewescribe nuevas particiones por fecha y compacta archivos pequeños de forma programada
Azure Data Lake StorageSintaxis y trampasappend partition + latest-version viewescribe nuevas particiones por fecha en el contenedor y compacta de forma programada
Azure SynapseSintaxis y trampasMERGE (dedicated SQL pool)COPY a staging y luego un MERGE por id estable
AirtableSintaxis y trampasPATCH /records with performUpsertupserts de registros emparejados por un campo de id estable
MongoDBSintaxis y trampasbulkWrite updateOne { upsert: true }upserts por id estable con updateOne(upsert) sobre la clave primaria de origen
SupabaseSintaxis y trampasINSERT … ON CONFLICT DO UPDATEuna marca de agua sobre updated-at, aplicada con INSERT … ON CONFLICT DO UPDATE
NeonSintaxis y trampasINSERT … ON CONFLICT DO UPDATEuna marca de agua sobre updated-at, aplicada con INSERT … ON CONFLICT DO UPDATE
PlanetScaleSintaxis y trampasINSERT … ON DUPLICATE KEY UPDATEuna marca de agua sobre updated-at, aplicada con INSERT … ON DUPLICATE KEY UPDATE
Amazon DynamoDBSintaxis y trampasPutItem with ConditionExpressionPutItem/UpdateItem con una clave de partición derivada del id de la entidad

Sáltate escribir el merge

Datrise aterriza entidades de CRM y SaaS en cada destino de arriba con esta misma mecánica, una marca de agua sobre updated-at y columnas tipadas, así que la sentencia que acabas de generar es la que corre por ti. Únete a la lista de espera para acceso anticipado.

Explorar el catálogo de integraciones