2009-11-20 6 views
0

En espérant que quelqu'un puisse vous aider avec cette mise à jour de données en utilisant Oracle.Mise à jour de portions de données dans Oracle

J'ai une situation où j'ai données/dossiers qui peuvent ressembler à ceci:

Nom de la table: IPDATA

Nom de la colonne avec ces documents est appelée: informations

Proxy Web (abc) : ZZZ passerelle gen1: gen2
ZZZ passerelle GEN1: gen2: Web Proxy (abc)
ZZZ passerelle GEN1: gen2
Proxy Web (abc): ZZZ passerelle GEN1: gen2: XYZ Systèmes
Proxy Web (abc): ZZZ passerelle gen1: gen2: XYZ Systems: POP SetUp
Proxy Web (abc): XYZ Systems: POP SetUp: ZZZ passerelle gen1: gen2

Ce que je dois faire est de trouver les enregistrements ont la chaîne « ZZZ passerelle GEN1: Gen2 » - tout ce qui existe dans les dossiers et il suffit de remplacer ce « : » avec un « » sEULEMENT

le résultat final serait alors:

Proxy (abc) Web: Passerelle ZZZ gen1, gen2
passerelle ZZZ gen1, gen2: Web Proxy (abc)
passerelle ZZZ gen1, gen2
Proxy Web (abc): ZZZ passerelle gen1, Gen2: XYZ Systems
Web Proxy (abc): ZZZ passerelle gen1, Gen2: XYZ Systems: POP SetUp
Proxy Web (abc): XYZ Systems: POP SetUp: ZZZ Gateway gen1, gen2

Je l'ai essayé en utilisant des mises à jour avec substr et remplacer mais en vain.

Répondre

5

On dirait que vous pourriez vous contenter de remplacer « 1: » par « 1 »,

update IPDATA 
set info=replace(info, '1:', '1,') 
where info like('%ZZZ Gateway gen1:gen2%') 
+0

merci, mais qu'il ya d'autres façons de le faire peut-il en dehors de cette approche? – tonyf

+0

Y a-t-il un moyen de rendre cette approche inefficace? – stimms

+0

pas du tout stimulés - je me demandais s'il y avait peut-être un autre moyen. Merci. – tonyf

Questions connexes