首页 > 解决方案 > 如何将密钥从一个数据库插入另一个数据库?

问题描述

这是我将值从 AdventureWorks 插入自定义数据库的代码。我也需要从 AdventureWorks 传输标识符,但不允许复制标识符。所以我认为使用 distinct with identifier 就足够了,但我仍然收到关于插入重复项的错误。

如果您能发表评论并告诉我我做错了什么,我将不胜感激。谢谢!

这是我的全部尝试: https ://pastebin.com/ZPniteh1

set identity_insert proizvodi ON

insert into proizvodi (ProizvodID, Sifra, Naziv, Kategorija, Podkategorija, Boja, Cijena, StanjeZaliha)
    select distinct 
        p.ProductID, p.ProductNumber,p.[Name], pc.[Name],psc.[Name], 
        p.Color, p.ListPrice, pii.Quantity
    from 
        AdventureWorks2017.Production.Product as p
    join 
        AdventureWorks2017.Production.ProductSubcategory as psc on psc.ProductSubcategoryID = p.ProductSubcategoryID
    join 
        AdventureWorks2017.Production.ProductCategory as pc on pc.ProductCategoryID = psc.ProductCategoryID
    inner join 
        AdventureWorks2017.Production.ProductInventory as pii on pii.ProductID = p.ProductID
    inner join 
        AdventureWorks2017.Sales.SalesOrderDetail as sod on sod.ProductID =  p.ProductID
    inner join 
        AdventureWorks2017.Sales.SalesOrderHeader as soh on soh.SalesOrderID = sod.SalesOrderID
    inner join 
        AdventureWorks2017.Sales.SalesTerritory as st on st.TerritoryID = soh.TerritoryID
    inner join 
        AdventureWorks2017.Production.[Location] as l on l.LocationID = pii.LocationID
    where 
        st.[Group] ='Europe'
    order by 
        p.ProductID

    set identity_insert proizvodi OFF

标签: sql-servertsql

解决方案


推荐阅读