【发布时间】:2019-12-05 12:43:54
【问题描述】:
有两个表Document 和DocumentPos。在Document 中有GUID 列,在DocumentPos 中有DocumentGUID 列,它指的是表Document。
INSERT INTO [dbo].[DocumentPos]
(
[GUID]
,[DocumentGUID]
,[Number]
,[Price]
)
SELECT
cqdp.GUID,
cqdp.DocumentGUID,
cqdp.Number
cqdp.Price
FROM [sqlserver\instance].[testdb].[dbo].[documentpos] cqdp
INNER JOIN [sqlserver\instance].[testdb].[dbo].[document] cqd ON cqd.GUID = cqdp.DocumentGUID
WHERE cqdp.DocumentGUID IN (
SELECT GUID
FROM [sqlserver\instance].[testdb].[dbo].[document]
)
AND NOT EXISTS
(
...
)
但是我怎样才能包含NOT EXISTS 以避免查询尝试插入列GUID 上已经存在的值?我想添加一个检查 GUID 是否已经存在于 DocumentPos 中,我想从 [sqlserver\instance].[testdb].[dbo].[documentpos 中包含它。
【问题讨论】:
-
这不是和你问的here一样吗?
标签: sql-server insert linked-server