无法存储值在变量
问题描述:
DECLARE @systemUnitGuid UNIQUEIDENTIFIER = '00000000-0000-0000-0000-000000000000'
DECLARE @adminID UNIQUEIDENTIFIER = '00000000-0000-0000-0000-000000000000'
IF EXISTS(
SELECT @systemUnitGuid = UR_UN_GUID_To
FROM Un_Unit
INNER JOIN UR_UnitRelation ON UR_UN_GUID_To = UN_GUID
AND UR_CLSID = '5514c560-12ec-11de-8c30-0800200c9a66'
WHERE UR_UN_GUID_From = '8dbc36fc-f2f1-4ed9-a5b0-025857436828')
BEGIN
IF @guidId = @systemUnitGuid
BEGIN
SELECT UN_GUID
FROM Un_Unit
INNER JOIN UR_UnitRelation ON UR_UN_GUID_From = UN_GUID
AND UR_CLSID = '710b45c3-8a23-4cc3-a684-8eed6ddc1fb7'
WHERE UR_UN_GUID_To = @guidId
END
我得到以下错误无法存储值在变量
消息102,级别15,状态1,行13
附近有语法错误 '='。
请建议
答
1)你需要声明@guidId可变
2)内的存在,你不能将值分配给变量。
3)尝试这样的:
DECLARE @systemUnitGuid UNIQUEIDENTIFIER='00000000-0000-0000-0000-000000000000'
DECLARE @adminID UNIQUEIDENTIFIER='00000000-0000-0000-0000-000000000000'
DECLARE @guidId UNIQUEIDENTIFIER='00000000-0000-0000-0000-000000000000'
SET @systemUnitGuid = (
SELECT UR_UN_GUID_To
FROM Un_Unit
INNER JOIN UR_UnitRelation
ON UR_UN_GUID_To = UN_GUID
AND UR_CLSID = '5514c560-12ec-11de-8c30-0800200c9a66'
WHERE UR_UN_GUID_From = '8dbc36fc-f2f1-4ed9-a5b0-025857436828'
)
IF (@systemUnitGuid = @guidId)
BEGIN
SELECT UN_GUID
FROM Un_Unit
INNER JOIN UR_UnitRelation
ON UR_UN_GUID_From = UN_GUID
AND UR_CLSID = '710b45c3-8a23-4cc3-a684-8eed6ddc1fb7'
WHERE UR_UN_GUID_To = @guidId
END
注: -如果@guid是输入参数,并且您使用此函数内部或存储过程,那么你可以删除的声明部分@ guid变量。
您缺少'END'来完成外部块。不知道这是否会完全解决问题,但它会有所帮助。 –
其中'@ guidId'被声明,它是什么类型? –