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

Как да вмъквам записи въз основа на предишното вмъкване?

Опитайте това

Входове

declare @tblA table (id int,name varchar(20))
declare @tblB table (id int,name varchar(20))
declare @tblC table (id int identity,name varchar(20))
insert into @tblC 
    select 'name1' union all select 'name2' union all
    select 'name3' union all select 'name4' union all
    select 'name5' union all select 'name6' union all
    select 'name7' union all select 'name8' union all
    select 'name9' union all select 'name10' union all
    select 'name11' union all select 'name12' union all
    select 'name13' union all select 'name14' union all
    select 'name15' union all select 'name16' union all
    select 'name17' union all select 'name18' union all
    select 'name19' union all select 'name20' 

Запитване

insert @tblA 
output INSERTED.id, INSERTED.Name
into @tblB 
select 
    id,name
from @tblC 
where id % 2 = 0

select * from @tblA
select * from @tblB

Изход: [ И за двете таблици A и B]

идентификационно име

2   name2
4   name4
6   name6
8   name8
10  name10
12  name12
14  name14
16  name16
18  name18
20  name20

По принцип вмъквам тези записи в TableA от TableC, чиито идентификатори са четни. И след това чрез използване на клауза Output, вмъквайки стойностите от TableA в TableB

За повече информация клауза OUTPUT

Надяваме се, че това има смисъл



  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 (T-SQL примери)

  2. Генерирайте произволно число, което не е там в таблица в sql сървър

  3. SQL - Изберете най-новия запис, когато има дубликат

  4. Актуализирайте SQL с последователно номериране

  5. Функции на прозореца - Работно общо с нулиране