Advertisement
EmilianoRoldanR

Actualizar campos repetidos (codigo_unico_af)

Oct 10th, 2023 (edited)
1,414
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.08 KB | None | 0 0
  1. -- Primero con esta consulta vemos si hay codigo_unico_af repetidos.
  2. SELECT codigo_unico_af , COUNT(codigo_unico_af ) AS Conteo
  3. FROM cheques
  4. GROUP BY codigo_unico_af
  5. HAVING COUNT(codigo_unico_af ) > 1;
  6.  
  7. -- Luego lo que hay que hacer es arreglar los repetidos con esta consulta.
  8. WITH CTE AS (
  9.     SELECT
  10.         codigo_unico_af,
  11.         ROW_NUMBER() OVER (PARTITION BY RTRIM(codigo_unico_af) ORDER BY (SELECT NULL)) AS RowNum
  12.     FROM cheques
  13. )
  14. UPDATE CTE
  15. SET codigo_unico_af =
  16.     CASE
  17.         WHEN RowNum = 1 THEN RTRIM(codigo_unico_af)
  18.         ELSE RTRIM(codigo_unico_af) + CHAR(ASCII('A') + (RowNum - 2) % 26)
  19.     END;
  20. -- Y por ultimo hay que volver a enviar las ventas a nscloud en caso de que el local tenga.
  21.  
  22. UPDATE cheques SET sistema_envio = 0 WHERE folio IN ( SELECT folio FROM cheques WHERE fecha > 'dd/mm/aaaa' AND pagado = 1)
  23.  
  24. --Hay que fijarse que dentro del periodo que queremos volver a enviar no halla ninguna cuenta que tenga el campo intentoEnvioAf > 10. Si hay alguna que lo tenga entonces antes hay que bajarla a 0 o 1
  25.  
  26. --REPALDAR BASE DE DATOS SIEMPRE ANTES
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement