Forum

Stored Procedure de...
 
Bildirimler
Hepsini Temizle

Stored Procedure değişken tanımlamasında - (tire) işareti sorunu.

6 Yazılar
2 Üyeler
0 Likes
896 Görüntüleme
(@yusufbaran)
Gönderiler: 57
Trusted Member
Konu başlatıcı
 

Merhaba bir stored procedure oluşturdum ve @musterikodu diye bir değişken tanımladım, fakat sp çalıştırırken;

exec sp_musteri 1-2454

şeklinde çalıştırdığım zaman '-' yakınındaki sözdizimi yanlış. şeklinde bir hata alıyorum; müşteri kodundaki - işareti bu sorunun sebebi sanırım, fakat müşteri kodunda bu işaret var, bir çözüm yolu bilen var mı? Şimdiden teşekkürler.

 
Gönderildi : 11/01/2016 14:45

(@yusufbaran)
Gönderiler: 57
Trusted Member
Konu başlatıcı
 

Bu şekilde sorun çıkmadı fakat data olmasına rağmen sonuç döndürmedi, sorgu boş geldi.

 
Gönderildi : 11/01/2016 15:28

(@yusufbaran)
Gönderiler: 57
Trusted Member
Konu başlatıcı
 

Sp için kullandığım kodu parametreyi elle girerek denediğimde sonuç dönüyor, fakat parametre tanımladığım zaman sizin söylediğiniz şekilde kullanınca sonuç dönmüyor. Sorgu ve parametre aşağıdaki şekilde.

CREATE PROCEDURE sp_musteri
(
@musterikodu varchar
)
AS
BEGIN

.....

Kodlar

where musterikodu = @musterikodu

.....

END

 
Gönderildi : 11/01/2016 15:36

(@yusufbaran)
Gönderiler: 57
Trusted Member
Konu başlatıcı
 

Malesef bu şekilde de boş geliyor, tiresiz bir kod girdiğimde hata almıyorum boş geliyor ama tiresiz kod olmadığı için deneyemiyorum da.

 
Gönderildi : 11/01/2016 15:50

(@enginkulac)
Gönderiler: 118
Estimable Member
 

Merhaba,

Procedure içerisindeki kodlarda değişken türlerini kontrol etmenizi tavsiye ederim. Bir yerlerde özel karekter olarak algılanıyor olabilir.

 
Gönderildi : 11/01/2016 16:56

(@yusufbaran)
Gönderiler: 57
Trusted Member
Konu başlatıcı
 

Değişken türlerini de kontrol ettim ama bir sorun göremedim, veritabanında tanımlanmış türleri kullanıyorum. Kodu sp haline getirmeden değişkenleri elle girip sorgu çalıştırdığımda istediğim sonucu döndürüyor, fakat sp haline getirip değişken girdiğim zaman sonuç alamıyorum.

 
Gönderildi : 16/01/2016 13:45

Paylaş: