Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как по-добре да дублирам набор от данни в SQL Server

Защо не се присъедините към FruitName, за да получите маса със стари и нови FruitId? Имайки предвид, че информацията ще бъде добавена едновременно.... може да не е най-добрият вариант, но няма да използвате никакви цикли.

INSERT INTO BASKET(BASKETNAME)
VALUES ('COPY BASKET')

DECLARE @iBasketId int
SET @iBasketId = @@SCOPE_IDENTITY;


insert into Fruit (BasketId, FruitName)
select @iBasketId, FruitName
from Fruit 
where BasketId = @originalBasket

declare @tabFruit table (originalFruitId int, newFruitId int)

insert into @tabFruit (originalFruitId, newFruitId)
select o.FruitId, n.FruitId
from (SELECT FruitId, FruitName from Fruit where BasketId = @originalBasket) as o
join (SELECT FruitId, FruitName from Fruit where BasketId = @newBasket) as n
    on o.FruitName = n.FruitName


insert into Property (FruitId, PropertyText)
select NewFruitId, PropertyText
from Fruit f join @tabFruit t on t.originalFruitId = f.FruitId


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да дам надясно (таблица) разрешение в SQL Server 2008?

  2. nodejs mssql вмъкване с параметри

  3. Автоматизиране на обработката на табличен модел на бази данни на услугите за анализ (SSAS) в SQL Server

  4. System.Data.SqlTypes.SqlTypeException:препълване на SqlDateTime

  5. Как да се свържа с база данни на SQL Server в CodeIgniter?