4

我得到了这张桌子:

APPLICATION     TEST    DESCRIPTION     FICHIERCONF     FICHIERXML  FICHIERPROXY    PORTAIL     PERIODEMAINTENANCE  NOMDNS  TPSWARN     TPSCRIT     TYPEMAJ     TYPERAPPORT     CONTREMESURE    TPSCONTREMESURE     AUTH_URL    APP_URL_ENC
cerbere     Application-Ping    test    cete-config-cerbere     cerbere.xml     config-no-proxy.xml     0       cerbere.application.i2  0   0   1   Nagios  1   30  NULL    NULL
cerbere     Application-Ping2   test    cete-config-cerbere     cerbere.xml     config-no-proxy.xml     0       cerbere.application.i2  0   0   1   Nagios  1   30  NULL    NULL

对于 1 单行,每次我在所有列中通过另一个文本看到它时,我都想更改 'cerbere'。

例如,我说:将第一行中的“cerbere”更改为“lidia”。我希望我的应用程序字段由“lidia”更改,fichierconf 字段由“cete-config-lidia”更改,fichierxml 由lidia.xml 更改,nomdns 由“lidia.application.i2”更改。

有没有办法做到这一点?

4

1 回答 1

6

您需要使用更新表语法。

update 
TABLE_NAME 
set 
FIELD_NAME = replace(FIELD_NAME, 'find this string', 'replace found string with this string')
, ANOTHER_FIELD_NAME = REPLACE(ANOTHER_FIELD_NAME, 'foo', 'bar')
, AND_ANOTHER_ANOTHER_FIELD_NAME = REPLACE(...)
... /*as much columns as you like*/
;

您可以对每一列都执行此操作,尽管可能还有更好的解决方案,这种快速而肮脏的 hack 应该可以帮助您入门。

于 2012-09-03T13:23:58.017 回答