ユーザーは、スキームの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
)。
これは、auniqueidentifier
が送信されたときに正常に機能します。しかし、名前が送信されると(たとえば@XMLScheme = 'dog'
)、次のエラーが発生します。
文字列からuniqueidentifierへの変換時に変換に失敗しました。
私は試しCAST
まし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'
どんなアイデアでも大歓迎です。前もって感謝します。