允许用户通过方案的 id 或方案的名称发送对方案的引用。如果在记录中找到给定方案作为 id 或名称,则数据有效。临时表...
CREATE TABLE #ModelsForScheme(
[modelid] uniqueidentifier,
[schemeid] VARCHAR (36))
临时表稍后被填充。我现在拥有的...
DECLARE @XMLScheme VARCHAR (36)
SET @XMLScheme = (SELECT TOP 1 schemeid FROM #ModelsForScheme) --there will only be one row
DECLARE @SchemeID VARCHAR (36)
SELECT @SchemeID=schemeid FROM SCHEMES WHERE schemeid=@XMLScheme
IF @SchemeID IS NULL
SELECT @SchemeID=schemeid FROM SCHEMES WHERE [name]=@XMLScheme
IF @SchemeID IS NULL
SELECT 'Scheme is NULL'
(该列schemeid
是uniqueidentifier
表中的a SCHEMES
)。
这在uniqueidentifier
发送 a 时工作正常。但是当发送一个名称(例如@XMLScheme = 'dog'
)时,我收到以下错误;
从字符串转换为唯一标识符时转换失败。
我试过CAST
and CONVERT
,但我无法让它们工作。SCHEMES
如果我得到保证,那是我可以让它工作的唯一一个方案,但事实并非如此。
SET @XMLSchemeID = (SELECT TOP 1 schemeid FROM #ModelsForScheme)
SET @SchemeID= (SELECT TOP 1 schemeid FROM SCHEMES)
IF @XMLSchemeID<>@SchemeID
Select 'yeaaaaa no error'
任何想法表示赞赏。提前致谢。