【发布时间】:2020-09-29 19:48:02
【问题描述】:
我创建了以下存储过程:
CREATE PROCEDURE dbo.InsertTutees
@StudentID INT = NULL,
@FirstName VARCHAR(50) = NULL,
@Surname VARCHAR(50) = NULL,
@Major VARCHAR(50) = NULL,
@Timestamp DATETIME = NULL
AS
BEGIN
SET NOCOUNT ON
INSERT INTO dbo.Tutees (StudentID, FirstName, Surname, Major, Timestamp)
VALUES (@StudentID, @FirstName, @Surname, @Major, @Timestamp)
END
GO
EXEC dbo.InsertTutees
@StudentID = 2,
@FirstName = 'Sarah',
@Surname = 'Smith',
@Major = 'Science',
@Timestamp = '2013-12-12';
但是我想用当前时间戳替换时间戳值。我试过GETDATE(),但我收到以下错误:
消息 102,第 15 级,状态 1,第 6 行
')' 附近的语法不正确
是否有其他方法可以在此 exec 语句中检索当前日期?我应该编辑我的存储过程吗?
感谢您的帮助!
编辑: 这是我尝试完成的 exec 语句:
EXEC dbo.InsertTutees
@StudentID = 2,
@FirstName = 'Sarah' ,
@Surname = 'Smith' ,
@Major = 'Science' ,
@Timestamp = getdate()
【问题讨论】:
-
标记你正在使用的数据库。
-
请编辑您的问题以显示包含
GETDATE()的代码,该代码为您提供了错误消息。您是否有可能尝试将GETDATE()作为参数传递给存储过程? -
添加了我尝试的脚本,这导致我出现上述错误。谢谢!
标签: sql-server date stored-procedures timestamp getdate