이 SQL에 쉼표를 추가할 수 있습니까?

이 SQL에 쉼표를 추가할 수 있습니까?

나에겐 이런 진술이 있다

UPDATE `test`.`scores`
 SET
   id=1
   name='kobe'
   score=99
 WHERE
   id=1
   name='kobe'
   score=100
 UPDATE `test`.`scores`
 SET
   id=2
   name='tmac'
   score=70
 WHERE
   id=2
   name='tmac'
   score=100
 UPDATE `test`.`scores`
 SET
   id=3
   name='rose'
   score=80
 WHERE
   id=3
   name='rose'
   score=100
......

,, & 를 어떻게 추가 하나요 and? ;내 결과가 다음과 같기를 원합니다.

UPDATE `test`.`scores`
 SET
   id=1,
   name='kobe',
   score=99
 WHERE
   id=1 and
   name='kobe' and
   score=100;

답변1

이보다 더 간단한 것이 있어야 합니다:

awk '
/^ *UPDATE/   { prevsep=";" }
/^ *(SET|WHERE)/{ prevsep="" }
{ if(previous)print previous prevsep; previous = $0; prevsep = sep }
/^ *(UPDATE|SET|WHERE)/{ prevsep="" }
/^ *SET/  { sep="," }
/^ *WHERE/{ sep=" and" }
END { print previous ";" }'

각 행은 해당 행 다음에 UPDATE SET WHERE 키워드에 의해 트리거된 previous구분 기호에 의해 설정된 이전 구분 기호 세트를 사용하여 기억되고 인쇄됩니다. sep또한 이러한 키워드는 이전 구분 기호를 지우거나 로 설정하여 ;이전 행이 쉼표 또는 . 없이 인쇄되도록 합니다 and.

관련 정보