Varsayılan parametre değeri olarak işlev SQL?
Önce bu soruldu ise özür dilerim. Ben hızlı bir arama yaptım ve ilgili bir şey bulamadık.
İşte benim senaryo. Bunu yapmak için çalıştım:
ALTER PROCEDURE [dbo].[my_sp]
@currentDate datetime = GETDATE()
Tüm SQL ön-derleyici bana geri verir bu hata: Msg 102, Level 15, State 1, Yordam my_sp, Satır 8 Yakınında yanlış sözdizimi ('.'
Zaten prosedür oluşturduk. Null varsayılan değeri kullanarak ve daha sonra, onun için bakıyordum ama uygun görünmüyor. Bir satır içinde bunu yapabilir miyim?
GÜNCELLEME: Öncelikle hızlı cevaplar için hepinize teşekkür ederim. Kutsal inek! Saklı yordam parametreleri buradan MSDN açıklamasını ben geliyordum ikinci: http://msdn.microsoft.com/en-us/library/ms186755.aspx
[ = default ] Varsayılan değer parametre için. Eğer varsayılan değer tanımlanmış ise, fonksiyon Bu parametre için bir değer belirterek olmadan çalıştırılır.
Not:< / ^ br . Varsayılan parametre değerleri ikilik(max) ve varbinary(max) veri türleri için CLR işlevleri dışında belirtilebilir.
Fonksiyonu parametre varsayılan değeri varsa, anahtar kelime VARSAYILAN işlevi Varsayılan değerini almak için çağrıldığında belirtilmelidir. Bu davranış, atlama parametre de varsayılan değer anlaşılacağı saklı yordamları varsayılan değerleri ile parametrelerini kullanarak farklıdır.
Bunu okuyun yanlış yaptım? Çok teşekkürler.
GÜNCELLEME 2: yorum iki cevap yazdı. Eğer buraya gitmek konusunda emin değil.
CEVAP
Saklı yordamları için varsayılan değer parametre olmak zorundasabitler. Aşağıdaki... yapmak gerekir
ALTER Procedure [dbo].[my_sp]
@currentDate datetime = null
AS
IF @currentDate is null
SET @currentDate = getdate()
JavaScript bir işlev için varsayılan p...
C# 4.0: varsayılan değeri isteğe bağlı...
Nasıl C parametre olarak bir işlev geç...
Nerede C varsayılan parametre değeri k...
Geçen anahtar kelime python parametre ...