我有一个存储过程,想要将一个 GUID(用户 ID)插入到 MS SQL 表中,但是我一直收到一个有关 GUID 值中连字符“-”的错误。下面是我的存储过程定义:
@userID uniqueidentifier,
@bookID int,
@dateReserved datetime,
@status bit
INSERT INTO Reservation(BookId, DateReserved, [Status], UserId)
VALUES (@bookID, @dateReserved, @status, @userID)
但是,当我在存储过程的值周围加上单引号时,在管理工作室中执行存储过程时,它可以正常运行。如何在我的存储过程中处理guid插入而不出现问题?
谢谢大家。
更新 这是SQL exec:
DECLARE @return_value int
EXEC @return_value = [dbo].[usp_ReserveBook]
@userID = AE019609-99E0-4EF5-85BB-AD90DC302E70,
@bookID = 7,
@dateReserved = N'09/03/2009',
@status = 1
SELECT 'Return Value' = @return_value
这是错误信息
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near '-'.