PDA

Orijinalini görmek için tıklayınız : Mssql komutu ile alakali bir soru


indy
01-04-2010, 23:53:28
Merhaba;

$imdi $oyle bir sorum olacak benim. Diyelim ki asp ile kodlanmi$ bir internet sitem var ve bu sitede veritabani olarak mssql kullaniliyor. Dune kadar turkce karakter kullanilmayan bu sitede bugun turkce karaktere gecme karari aldigimizi varsayalim.

Sitede Mustafa Kemal Ataturk ile alakali pek cok konu ba$ligi var ama bu ba$liklar da anladiginiz uzere turkce karakter yok. Ben sitede icerisinde "ataturk" gecen tum konu ba$liklarini "atatürk" $eklinde degi$tirmek istiyorum.

Kafamda $u var,

UPDATE [xxx].[xxx].[konu_basligi]
SEt konu_basligi='atatürk' where konu_basligi='ataturk'

$imdi bu komut bildiginiz uzere sadece spesifik bir "ataturk" ba$ligini getirir, icerisinde ataturk gecen ba$liklari getirmez. ben istiyorum ki tek komutla icerisinde "ataturk" kelimesi gecen tum ba$liklari "atatürk" kelimesi ile degi$tirebileyim. Bu konu ile alakali fikir belirtebilecek tum arkada$lara $imdiden te$ekkurler.

Reaky
05-04-2010, 12:17:04
asp + mssql olarak belirteyim.


create procedure degistir
as
select konu_basligi from table where konu_basligi like '%ataturk%'
Go

ASP;

set rs=baglanti.execute("exec degistir")
do while not rs.eof

response.write rs("konu_basligi")

rs.movenext
loop

gerisi sana kalmis, mantiga buradan devam edebilirsin

indy
28-04-2010, 17:20:30
Yeniden merhaba;

Sevgili Reaky'nin belirtmi$ oldugu $ey asp kodu ile alakali sanirim, yani bu kodu yazarak cali$tirmak icap etmekte. Acikcasi bunu denemedim, muhakkak i$e yariyordur ondan zerre $uphem yok. Ben direk mssql uzerinden cali$ma stilini buldum, burada payla$mak istedim ki daha sonralari benim gibi ihtiyac haline du$en arkada$lar faydalanabilsinler.

Managament Studio ile mssql icerisine giri$ yapilir, veritabaninda alakali table bulunur ve replace edilmek istenilen kolonun uzerinde sag tiklanarak "uptade" kismina girilir. Ardindan $u komut yazilir;

update konu_baslik set konu_baslik= replace(konu_baslik,'ataturk','atatürk)

Ardindan da komut cali$tirilir. Bu komut sayesinde konu ba$liklarinin icerisinde bulunan tum ataturk kelimeleri atatürk kelimesi olarak degi$ecektir.

Not: Bu senaryoda tablo ismi konu_baslik ve tablonun icerisinde degi$tirilmek istenilen kelimelerin var oldugu tablenin ismi de konu_baslik olarak duzenlenmistir. Kullanici arkada$ kendi tablosundaki isimleri yazmalidir.