-1
您好我试图纠正一个Proc的数据加载时要插入基于表2插入记录并更新现有记录
在表1的记录这是我来到与 它有2个条件
1) if the record does not exist create a new row of record
2) if the record already exist update the record based on keys
这是我的PROC需要一些帮助,感谢
DECLARE @TableKey INT --(it is passed by the user proc param),
DECLARE @TableCount INT,
DECLARE @CLassKey INT,
SELECT @TableCount= COUNT(*) FROM Table1 WHERE Tablekey= @TableKey
INSERT INTO @CLassKey
SELECT Distinct c.PK_ClassKey FROM CLASS as c
INNER JOIN BOOK as B ON B.FK_ClassKey=C.PK_ClassKEy
IF ((SELECT COUNT(*) FROM @ClassKey) > 0 AND @TableCount= 0)--- this will check
BEGIN
Insert into NOTE
n.note
Select
c.note
FROM Class where c.FK_Note = n.PK_Note.
END
----这将只需插入首次.. 如何d O I更新任何想法,因为记录只插入第一次提出使用相同的格式非常感谢
用MERGE语句,不更新。 – Avi
这是什么语言,伪语言? – Drew
看看'插入重复密钥更新'。 [手册页](http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html)也许这将是有用的。它需要一个独特的钥匙来冲击火灾的更新。这里是一个[视觉示例](http://stackoverflow.com/a/32468519) – Drew