Sql server sql server唯一标识符比较
我正在写一个触发器,我有一个select命令的问题,该命令应该比较uniqueidentifier。它返回null。我怎样才能解决这个问题Sql server sql server唯一标识符比较,sql-server,select,triggers,uniqueidentifier,Sql Server,Select,Triggers,Uniqueidentifier,我正在写一个触发器,我有一个select命令的问题,该命令应该比较uniqueidentifier。它返回null。我怎样才能解决这个问题 DECLARE @EmailTablePrimaryKey uniqueidentifier SELECT @PostSpecialityID=CategoryId FROM PostCategoryRelations WHERE PostId = @EmailTablePrimaryKey @EmailTablePrimaryKey和PostId是唯
DECLARE @EmailTablePrimaryKey uniqueidentifier
SELECT @PostSpecialityID=CategoryId FROM PostCategoryRelations WHERE PostId = @EmailTablePrimaryKey
@EmailTablePrimaryKey和PostId是唯一标识符,若我像下面这样静态地放置参数,它可以工作,但不能与参数一起工作
SELECT @PostSpecialityID=CategoryId FROM PostCategoryRelations WHERE PostId = '7c5ec001-81a2-e211-95dc-842b2b07eeaf'
您认为问题出在哪里?您尚未显示正在填充
@EmailTablePrimaryKey
。但在触发器中使用标量变量通常是一个警告标志,表明作者认为插入的包含一行(通常不包含,它可能包含0、1或多行)@EmailTablePrimaryKey返回一行。我确信这一点。它是通过另一个select语句填充的。我还可以使用什么来代替标量变量?如果必须以多个步骤执行工作,可以使用临时表或表变量。理想情况下,您可以使用inserted
作为源表之一,找到一种将您的意图表示为单个查询的方法。可能是如果您发布了关于触发器应该做什么以及涉及的表的内容,您会得到一个更适合您的任务的答案