gpt4 book ai didi

sql - GETDATE() 在 SQL Server 2008 中导致语法错误

转载 作者:行者123 更新时间:2023-12-04 16:15:24 25 4
gpt4 key购买 nike

我刚刚创建了一个存储过程,用于在执行一些计算后将数据插入表中。我的创建过程代码如下:

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()

有什么想法吗?谢谢。

最佳答案

尝试

DECLARE @Now AS DATETIME
SET @Now = GETDATE()

EXEC myStoredProc
@log_id = 1,
@job_nm = 'It',
@feed_in_out_ind = 'i',
@process_dt = @Now ,
@procedure_dt = @Now ,
@procedure_nm = 'Test 1',
@object_ty = 'test',
@operation_ty = 'test',
@num_records = 50,
@success_status = 0,
@error_msg = 'Hello',
@start_time = @Now ,
@end_time = @Now

关于sql - GETDATE() 在 SQL Server 2008 中导致语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4127114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com