2010-07-22 16 views
5

GETDATE() sözdizimini Transact-Sql Script türünde bir İş Adımında çalışmak üzere alamıyorum. Ben komuta koyun:Bir T-SQL İş Kademe Komutunda GETDATE()

execute insertMostRecentUpdate 
@Data='Data', 
@Date=GETDATE()-1 

Ama ayrıştırma veya çalıştırmak çalışırken bir "yanlış sözdizimi yakın ')'" hata olsun. Düşüncesi olan var mı?

cevap

7

bu deneyin: bir yordam çağırma ederken

DECLARE @date DATETIME; 
SET @date = GETDATE()-1; 

execute insertMostRecentUpdate 
@Data='Data', 
@[email protected]; 

Sen inline-fonksiyonu olarak GETDATE() kullanamazsınız. Böyle bir şey deneyebilirsiniz

+0

içine bir işlev geçiyoruz çünkü: Getdate() - 1'in dünden (yani getdate'in de zamana bağlı olduğu gibi) gelmemesine dikkat edin – Tobiasopdenbrouw

+0

Teşekkürler Flo! Her gün yeni bir şey öğrenin. Ben googling hiçbiri bu kadar döndü biraz rahatsız değilim :) –

+1

@C Bauer Çok hoş geldiniz :-); ve lütfen @ Tobiasopdenbrouw'un çok önemli bilgilerini de dikkate alınız. İkinci bir uzantı olarak: SS2k8 ile hepimiz DATETIME2 ve SYSDATETIME() kullanarak başlamalı ve DATETIME ve GETDATE() 'den kurtulmalıyız. –

1

,

declare @date date 
set @date = GETDATE()-1 

exec insertMostRecentUpdate 'data',@date 

Sürpriz beni ben koştum, ben derlemek gerektiğini düşündüm, ama sanırım onun size proc Florian yanında