【发布时间】:2010-10-31 21:12:00
【问题描述】:
我有一个存储过程,如果我想将 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)
但是,如果存储过程在 Management Studio 中执行,则当我在值周围加上单引号时,它运行良好。如何处理 guid 插入而不会出现存储过程中的问题?
谢谢大家。
更新 这是 sql 执行
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 '-'.
【问题讨论】:
-
您是否错误地转置了您的 userid 和 bookid 参数?您能否发布导致该错误的示例 EXEC 语句。到目前为止,您的 SQL 看起来不错。