webForumDet fria alternativet

updatera kolumn i en sp om parameter finns

Databaser & SQL

5 svar · 252 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

halåj!
jag behöver uppdatera en kolumn i min sql-2000 databas.
kolumnen innehåller text och kan se ut:

blabla, blabla[image]bild(1).gif|1|left[/image]bla, bla

har tänk göra en sp av detta och i den skicka in värdet: bild(1).gif som en parameter.
sen vill jag kolla om parametern finns i kolumnen och då ta bort allt mellan [image ] och [/image ]
hur kan en sån update/replace se ut?

obs! det kan finnas flera image-taggar med samma bild, dessa ska då också tas bort.
men det kan också finnas image-taggar med andra bilder, dessa ska inte tas bort.

Medlem sedan juni 20003 076 inlägg
#2

hmm, kom precis på en sak!
är det dumt att ha [- och ]-tecken i kolumnen då dessa ingår som wildcards i like-komando?
bör jag byta till annat tecken? vilket bör jag då använda?

Medlem sedan juni 20003 076 inlägg
#3

har ändrat innehållet lite.
jag börjar närma mig men denna vill inte funka, varför?

update tblNews 
set notes = replace(notes,'%(image)bild(1).gif,'+'[0|1]'+','+'[0|1|2]'+'(/image)%','')

image-taggen kan se så här i kolumnen:
(image)bild(1).gif,0,1(/image)
kan man inte köra en bitwise i en replace?

Medlem sedan dec. 200012 464 inlägg
#4

SQL är inte bra på texthantering. Försök lagra det i mindre beståndsdelar så att du slipper replace och kan göra delete på en eller flera poster i stället.

Medlem sedan juni 20003 076 inlägg
#5

hur menar du med mindre bestånsdelar?

texten i kolumnen är en nyhetstext som visas på en asp-sida, i texten kan man placera ett valfritt antal bilder, därför ligger taggarna mitt i bland texten.
och deletar man en bild så ska taggen i texten tas bort.

Medlem sedan dec. 200012 464 inlägg
#6

Jag skulle (nog) inte lägga taggar i texten utan lagra dessa som separata attribut i en egen tabell. I den tabellen skulle det då finnas information om var i texten attributet skall inplaceras mm. Om du vill ta ändra attribut så behövs det bara enkla sql-satser.

När du visar texten får du bygga ihop den med attributen.

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)