Bununla varsayılan bir parametre değerini değiştirmeyi denedim:
ALTER PROCEDURE [dbo].[my_sp]
@currentDate datetime = GETDATE()
ve ön derleyicinin bana verdiği tüm SQL şu hataydı:
Msg 102, Seviye 15, Durum 1, Prosedür my_sp, Satır 8 '(' yakınında yanlış sözdizimi.
Prosedürü zaten oluşturdum. (Bunun alakalı olup olmadığından emin değilim.) Boş bir varsayılan değer kullanıyordum ve bunu daha sonra kontrol ediyordum, ancak bu doğru görünmüyor. Bunu tek satırda yapabilir miyim?
Güncelleme: MSDN'nin saklı yordam parametreleri açıklamasından çıkıyordum :
[= varsayılan] Parametre için varsayılan bir değerdir. Varsayılan bir değer tanımlanmışsa, işlev o parametre için bir değer belirtmeden yürütülebilir.
Not:
Varsayılan parametre değerleri, varchar (max) ve varbinary (max) veri türleri dışında CLR fonksiyonları için belirtilebilir.İşlevin bir parametresinin varsayılan bir değeri olduğunda, varsayılan değeri almak için işlev çağrıldığında VARSAYILAN anahtar sözcüğü belirtilmelidir. Bu davranış, parametrenin çıkarılmasının aynı zamanda varsayılan değer anlamına geldiği saklı yordamlarda varsayılan değerlere sahip parametreleri kullanmaktan farklıdır.
Bunu yanlış mı okuyorum?
Çok teşekkürler.