我有一个存储过程,它接受两个UniqueIdentifier
当我通过显式调用NewId()
来代替其中一个参数调用此sproc时:
exec dbo.TestArgs newid, '34131101-04DE-4B97-8FAC-49C924F7BFCE'
它失败了:
将数据类型nvarchar转换为uniqueidentifier时出错。
但是将NewId()
填充的变量传递给调用很好:
DECLARE @painInTheArse UniqueIdentifier
SET @painInTheArse = NewID()
EXEC dbo.TestArgs
newid
@painInTheArse,'34131101-04DE-4B97-8FAC-49C924F7BFCE'
完美运作
对我而言,这似乎非常错误。有人可以解释一下吗?