﻿DISABLE TRIGGER ALL ON T_FELHASZNALO
GO
/*
Születésinév elválasztó és Anyjaneve névelválasztó eliminálása miatt létrehozott új mezők updatje az eredeti de sokszor
hibás adatokkal töltött mezők alapján.
A többszörös szóközöket replace-eljük minden esetben
*/

--Szuletési vezeték és utóneve update

--Van elválasztó és jó helyen, Névsorrend = 'F'
UPDATE T_FELHASZNALO 
  SET 
     C_SZULETESIVEZETEKNEV = RTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), 1, C_SZULETESINEVELVALASZTO))
    ,C_SZULETESIUTONEV = LTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), C_SZULETESINEVELVALASZTO +2,
   LEN(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
WHERE
      LEN(C_SZULETESINEV) > 0
  AND C_SZULETESINEVELVALASZTO <> 0   --Spec. usereknél ez 0 kivéve a Rendszerüzenet-nél
  --Van szóköz a születési névben
  AND CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))-1 <> 0
  --Szóközre esik az elválasztó
  AND SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))),C_SZULETESINEVELVALASZTO+1, 1) LIKE ' '
  AND C_SZULETESINEVSORREND = 'F'
  AND TOROLT = 'F' 
  AND C_SZULETESIVEZETEKNEV IS NULL
  AND C_SZULETESIUTONEV IS NULL

  --Van elválasztó de nem jó helyen, Névsorrend 'F'
UPDATE T_FELHASZNALO 
  SET
   C_SZULETESIVEZETEKNEV =  RTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), 1, CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
  ,C_SZULETESIUTONEV = LTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32))))) +1,
   LEN(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
WHERE
      LEN(C_SZULETESINEV) > 0
  AND C_SZULETESINEVELVALASZTO <> 0   --Spec. usereknél ez 0 kivéve a Rendszerüzenet-nél
  --Van szóköz a születési névben
  AND CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32))))) -1 <> 0
  --Nem szóközre esik az elválasztó
  AND SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), C_SZULETESINEVELVALASZTO+1, 1) NOT LIKE ' '
  AND C_SZULETESINEVSORREND = 'F'
  AND TOROLT = 'F'
  AND C_SZULETESIVEZETEKNEV IS NULL
  AND C_SZULETESIUTONEV IS NULL
  
--Van elválasztó és jó helyen, Névsorrend 'T'
UPDATE T_FELHASZNALO 
  SET
   C_SZULETESIVEZETEKNEV = LTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), C_SZULETESINEVELVALASZTO +2,
    LEN(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
  ,C_SZULETESIUTONEV = RTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), 1,C_SZULETESINEVELVALASZTO))
WHERE
      LEN(C_SZULETESINEV) > 0
  AND C_SZULETESINEVELVALASZTO <> 0   --Spec. usereknél ez 0 kivéve a Rendszerüzenet-nél
  --Van szóköz a születési névben
  AND CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32))))) -1 <> 0
  --Szóközre esik az elválasztó
  AND SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))),C_SZULETESINEVELVALASZTO+1, 1) LIKE ' '
  AND C_SZULETESINEVSORREND = 'T'
  AND TOROLT = 'F' 
  AND C_SZULETESIVEZETEKNEV IS NULL
  AND C_SZULETESIUTONEV IS NULL

  --Van elválasztó de nem jó helyen, Névsorrend 'T'
UPDATE T_FELHASZNALO 
  SET
   C_SZULETESIVEZETEKNEV = LTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32))))) +1,
    LEN(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
  ,C_SZULETESIUTONEV =RTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), 1,CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
WHERE
      LEN(C_SZULETESINEV) > 0
  AND C_SZULETESINEVELVALASZTO <> 0   --Spec. usereknél ez 0 kivéve a Rendszerüzenet-nél
  --Van szóköz a születési névben
  AND CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32))))) -1 <> 0 
  --Nem szóközre esik az elválasztó
  AND SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_SZULETESINEV,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), C_SZULETESINEVELVALASZTO+1, 1) NOT LIKE ' '
  AND C_SZULETESINEVSORREND = 'T'
  AND TOROLT = 'F'
  AND C_SZULETESIVEZETEKNEV IS NULL
  AND C_SZULETESIUTONEV IS NULL


--Anyja vezeték és utóneve update
--Van elválasztó és jó helyen, Névsorrend = 'F'
UPDATE T_FELHASZNALO 
  SET 
     C_ANYJAVEZETEKNEVE = RTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), 1,C_ANYJANEVEELVALASZTO))
    ,C_ANYJAUTONEVE = LTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), C_ANYJANEVEELVALASZTO +2,
   LEN(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
WHERE
      LEN(C_ANYJANEVE) > 0
  AND C_ANYJANEVEELVALASZTO <> 0   --Spec. usereknél ez 0 kivéve a Rendszerüzenet-nél
  --Van szóköz a születési névben
  AND CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))-1 <> 0
  --Szóközre esik az elválasztó
  AND SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))),C_ANYJANEVEELVALASZTO+1, 1) LIKE ' '
  AND C_ANYJANEVESORREND = 'F'
  AND TOROLT = 'F' 
  AND C_ANYJAVEZETEKNEVE IS NULL
  AND C_ANYJAUTONEVE IS NULL

  --Van elválasztó de nem jó helyen, Névsorrend 'F'
UPDATE T_FELHASZNALO 
  SET
   C_ANYJAVEZETEKNEVE =  RTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), 1, CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
  ,C_ANYJAUTONEVE = LTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32))))) +1,
   LEN(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
WHERE
      LEN(C_ANYJANEVE) > 0
  AND C_ANYJANEVEELVALASZTO <> 0   --Spec. usereknél ez 0 kivéve a Rendszerüzenet-nél
  --Van szóköz a születési névben
  AND CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32))))) -1 <> 0
  --Nem szóközre esik az elválasztó
  AND SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), C_ANYJANEVEELVALASZTO+1, 1) NOT LIKE ' '
  AND C_ANYJANEVESORREND = 'F'
  AND TOROLT = 'F'
  AND C_ANYJAVEZETEKNEVE IS NULL
  AND C_ANYJAUTONEVE IS NULL
  
--Van elválasztó és jó helyen, Névsorrend 'T'
UPDATE T_FELHASZNALO 
  SET
   C_ANYJAVEZETEKNEVE = LTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), C_ANYJANEVEELVALASZTO +2,
    LEN(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
  ,C_ANYJAUTONEVE = RTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), 1,C_ANYJANEVEELVALASZTO))
WHERE
      LEN(C_ANYJANEVE) > 0
  AND C_ANYJANEVEELVALASZTO <> 0   --Spec. usereknél ez 0 kivéve a Rendszerüzenet-nél
  --Van szóköz a születési névben
  AND CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32))))) -1 <> 0
  --Szóközre esik az elválasztó
  AND SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))),C_ANYJANEVEELVALASZTO+1, 1) LIKE ' '
  AND C_ANYJANEVESORREND = 'T'
  AND TOROLT = 'F' 
  AND C_ANYJAVEZETEKNEVE IS NULL
  AND C_ANYJAUTONEVE IS NULL

  --Van elválasztó de nem jó helyen, Névsorrend 'T'
UPDATE T_FELHASZNALO 
  SET
   C_ANYJAVEZETEKNEVE = LTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32))))) +1,
    LEN(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
  ,C_ANYJAUTONEVE =RTRIM(SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), 1,CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))))))
WHERE
      LEN(C_ANYJANEVE) > 0
  AND C_ANYJANEVEELVALASZTO <> 0   --Spec. usereknél ez 0 kivéve a Rendszerüzenet-nél
  --Van szóköz a születési névben
  AND CHARINDEX(' ', LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32))))) -1 <> 0 
  --Nem szóközre esik az elválasztó
  AND SUBSTRING(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(C_ANYJANEVE,CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))), C_ANYJANEVEELVALASZTO+1, 1) NOT LIKE ' '
  AND C_ANYJANEVESORREND = 'T'
  AND TOROLT = 'F'
  AND C_ANYJAVEZETEKNEVE IS NULL
  AND C_ANYJAUTONEVE IS NULL

GO
ENABLE TRIGGER ALL ON T_FELHASZNALO