2017-09-04 27 views
0

我想在表格中存在或不存在后插入表格中。 如果不存在插入,并且不存在插入。在这个例子中如何在sql中插入表之前检查?

INSERT INTO Database.[dbo].[TBL_AllProduct] 
        ([Product_Name] 
        ,[Product_URL]) 

SELECT 
     t.v.value('(span[2]/a/text())[1]','nvarchar(max)') as [Name], 
     t.v.value('(span[2]/a/@href)[1]','nvarchar(max)') as [URL] 
FROM @html.nodes('div/div') as t(v) 

检查[name]@html.nodes如果不是在column[product_name] exsit的[name]value然后插入到表中。请从@html.nodes中选择

t(v)包含任何行,不仅包含1行。

〔实施例用于出口t(v)

-------------- 
    NAME 
-------------- 
    piter 
    alex 
    sony 
    telephon 
     . 
     . 
     . 
+1

如果不存在的话什么都不做或者做一个更新,然后? – GuidoG

+0

如果不存在则什么都不做。 – HIV88

回答

1
DECLARE @Name Nvarchar(50) 

SET @Name=t.v.value('(span[2]/a/text())[1]','nvarchar(max)') as [Name] FROM @html.nodes('div/div') as t(v) 


IF NOT EXISTS (SELECT Product_Name FROM Database.[dbo].[TBL_AllProduct] WHERE [email protected]) BEGIN 

    INSERT INTO Database.[dbo].[TBL_AllProduct] 
         ([Product_Name] 
         ,[Product_URL]) 

    SELECT 
      t.v.value('(span[2]/a/text())[1]','nvarchar(max)') as [Name], 
      t.v.value('(span[2]/a/@href)[1]','nvarchar(max)') as [URL] 
    FROM @html.nodes('div/div') as t(v) 

END 
+1

检查'@ html.nodes'中的'[name]'是否存在'column'中的[[name]'的值'[product_name]',然后插入到表中。从@ html.nodes'选择 – HIV88

+0

感谢t(v)包含任何行中没有行。 – HIV88

+0

????????????????? – HIV88

相关问题