У меня есть хранимая процедура, которая принимает два параметра типа UniqueIdentifier
Когда я вызываю этот sproc с явным вызовом NewId()
вместо одного из аргументов:
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'
отлично работает
Мне это кажется очень неправильным.Может кто-нибудь объяснить, пожалуйста?