我剛剛創建了一個存儲過程,在執行一些計算後將數據插入到表中。我創建程序代碼如下:GETDATE()在SQL Server 2008中導致語法錯誤
ALTER PROCEDURE [dbo].[myStoredProc]
@log_id INT,
@job_nm VARCHAR(20),
@feed_in_out_ind CHAR(1) = null,
@process_dt DATETIME = null,
@procedure_dt DATETIME = NULL,
@procedure_nm VARCHAR(20),
@object_ty VARCHAR(20),
@operation_ty VARCHAR(20),
@num_records INT,
@success_status BIT,
@error_msg VARCHAR(50) = NULL,
@start_time DATETIME,
@end_time DATETIME = null
AS
當我嘗試調用存儲過程,如果我使用GETDATE()對於任何日期時間,我得到一個語法錯誤Incorrect syntax near ')'
當我更換GETDATE()與一個實際的日期時間,該過程正確運行。
這裏是我的調用代碼:
EXEC myStoredProc
@log_id = 1,
@job_nm = 'It',
@feed_in_out_ind = 'i',
@process_dt = GETDATE(),
@procedure_dt = GETDATE(),
@procedure_nm = 'Test 1',
@object_ty = 'test',
@operation_ty = 'test',
@num_records = 50,
@success_status = 0,
@error_msg = 'Hello',
@start_time = GETDATE(),
@end_time = GETDATE()
任何想法?謝謝。
大的解決方法,但它並沒有給潛在的問題作出任何解釋。 – 2010-11-08 19:19:11
工作 - 謝謝。問題是我將從許多其他存儲過程調用此過程。我真的需要明白是什麼引起了這個問題,所以可以用一種不太「繃帶式」的方式解決問題。 – chama 2010-11-08 19:19:40
這不是一個創可貼。請參閱以下文檔中的「指定參數」:http://msdn.microsoft.com/zh-cn/library/ms189915(v=SQL.100).aspx。 – Anna 2010-11-08 19:42:11