2016-04-22 12 views
3

這個過程我執行程序和劑量不接受我的任何日期,當我試圖給的日期時間variale一個GETDATE(),它告訴我錯誤附近「)」

ALTER PROCEDURE [dbo].[InsertCustomer] 

    @firstName NVARCHAR(50), 
    @lastName NVARCHAR(50), 
    @address NVARCHAR(50), 
    @state NVARCHAR(50), 
    @creditLimit smallmoney, 
    @email NVARCHAR(50), 
    @customerSince smalldatetime 

AS 
BEGIN 

INSERT Customers(
     FirstName , 
     LastName , 
     _Address , 
     States , 
     CustomerSince , 
     CreditLimit , 
     Email) 

VALUES (@firstName , 
    @lastName , 
     @address , 
     @state , 
     @customerSince , 
     @creditLimit , 
     @email) 

END; 

這是執行---->

EXECUTE InsertCustomer 
'Liza', 
'Tober', 
'46 White Second Blvd.', 
'Louisiana', 
670, 
'[email protected]', 
GETDATE() 
+1

我認爲你必須首先聲明一個變量,賦值爲'getdate()',並在proc調用中使用該變量 – HoneyBadger

+0

當我這樣做@Now DATETIME = GETDATE()時,它給我一個錯誤「不正確(''' –

回答

6

你可以嘗試調用這樣的PROC:

DECLARE @dt DATETIME = GETDATE() 

EXECUTE InsertCustomer 
'Liza', 
'Tober', 
'46 White Second Blvd.', 
'Louisiana', 
670, 
'[email protected]', 
@dt 

在你的評論中你提到了一個錯誤,你是否嘗試過這樣?如果是這樣,錯誤是什麼?

問題是,你不能在過程調用中使用函數(如GETDATE())。所以你必須在變量中捕捉函數的結果才能使用該值。

+0

非常感謝我的問題解決,但我有一個問題 - >我不能在我的存儲過程實現中使用datetime()? –

+0

你是什麼意思的「datetime()」?我不知道'不知道這樣一個函數...如果你的意思是數據類型'datetime',是的,你可以使用它... – HoneyBadger

+0

GETDATE()<------正確 –

相關問題