我试图插入表中值不存在的位置。SQL Server插入到不存在的位置
这是我的时刻:
insert into UToolDb.dbo.MQ_MESSAGES_NEW (ENVId, QueueName, CorrelationId, MessageId, MessageContent)
select
E.ENVId,
'RO00.GAT1.STUB_OPVANG_1.AI',
'323031333130303431313533343933383438363739353032',
'C3E2D840E2D8F1F24040404040404040CC0F7930FE822942',
'TEST Content'
from
UToolDb.dbo.ENVIRONMENTS E
where
E.EnvironmentName = 'KETEN1'
and not exists (select
EE.ENVId,
'RO00.GAT1.STUB_OPVANG_1.AI',
'323031333130303431313533343933383438363739353032',
'C3E2D840E2D8F1F24040404040404040CC0F7930FE822942',
'TEST Content'
from
UToolDb.dbo.ENVIRONMENTS EE
where
EE.EnvironmentName = 'KETEN1'
and EE.EnvironmentName = E.EnvironmentName)
出于某种原因,它不插入:插入
(0 row(s) affected).
值在表中不存在。
我在做什么错?
为什么EE.Environmentname的双重检查? – Pleun 2014-10-29 18:46:28
要排除故障,请自行运行子查询以查看是否有任何结果。与你的问题无关,当运行存在/不存在查询时,你不需要太多的select子句。所有你需要的是不存在的(select 1 from etc) – 2014-10-29 18:47:17