この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

おすすめ記事