SQL - 批量插入到无重复项

时间:2018-05-26 13:14:21

标签: sql sql-server

我有一个触发器,当数据插入表时会触发。插入到所述表中的数据来自JSON,它可以正常工作。我的问题是,我想将此表中的数据分成不同的表。我想把这些国家存放在他们自己的桌子上。它正在努力获取数据,但它正在插入重复数据。如何消除重复的存储?

CREATE TRIGGER main.afterParsing 
ON main.jsontable
AFTER INSERT
AS
BEGIN
    --Rows
    DECLARE @Count INT;
    SET @Count = @@ROWCOUNT;

    --Person Variables
    DECLARE @PersonName NVARCHAR(50)
    DECLARE @PersonSurname NVARCHAR(50)
    DECLARE @PersonEmail NVARCHAR(50)
    DECLARE @PersonAge NVARCHAR(50)
    DECLARE @PersonCountry NVARCHAR(50)
    DECLARE @PersonRegistered NVARCHAR(50)

    --Insert Country
    INSERT INTO country(countryName)
        SELECT jsontable.country
        FROM jsontable
        WHERE NOT EXISTS ((SELECT countryName 
                           FROM country 
                           WHERE country.countryName = jsontable.country)) 
          AND (jsontable.country IS NOT NULL)

    --Get Person

    --Insert Person

END;

1 个答案:

答案 0 :(得分:1)

只需将SELECT语句修改为SELECT DISTINCT即可解决我的小问题。