简体   繁体   English

SQL Server插入(如果不存在)的最佳做法[EXTENDED]

[英]SQL Server insert if not exists best practice [EXTENDED]

INSERT `locality` (province_id)
SELECT DISTINCT `province_id`
FROM `locality` localreturn
WHERE
   NOT EXISTS (SELECT * FROM `locality` local
              WHERE localreturn.province_id = local.province_id)

If the query tested passes how do i insert a value? 如果测试通过,我如何插入值? a normal insert would be like: 普通的插入将是:

INSERT INTO `locality` (`province_id`) VALUES (1919)

Leeched Source: SQL Server insert if not exists best practice 偷盗源: SQL Server插入(如果不存在)最佳实践

try 尝试

  BEGIN
    IF NOT EXISTS(SELECT * FROM `locality` local WHERE  local.province_id=@id) 
    BEGIN
     INSERT `locality` (province_id) values(@id)
    END
  END

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM