Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wstaw do wielu tabel na podstawie innych danych tabeli

Jak wspomniał EzLo, wyjście jest twoim przyjacielem do pobierania wstawionych wartości tożsamości:

-- use a table _temp_org_records for output
if object_id('_temp_org_records') is not null drop table _temp_org_records;

-- create table with correct column datatypes
select top 0 UserID
into _temp_org_records
from UserProductMapping


INSERT INTO User (userlogin, Organisationid, emailaddress, username, userpassword)
OUTPUT inserted.UserID INTO _temp_org_records --all USerIDs will be saved into _temp_org_records
    SELECT 'AGT' + Code, organisationid, '[email protected]', 'User' + Code, '123'
    FROM organisation;

INSERT INTO UserProductMapping (UserID, ProductID) 
    SELECT t.UserID, productid.value
    FROM 
        _temp_org_records t
        cross join (values ('11'),('22'),('33'),('44'),('55')) as productid(value)

INSERT UserGroups 
    SELECT t.UserID, UserGroup.value
    FROM 
        _temp_org_records t
        cross join (values ('1'),('3')) as UserGroup(value)



  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 — liczba procentowa

  2. 6 sposobów konwersji ciągu na wartość daty/godziny w SQL Server

  3. SQL Query, aby dodać nową kolumnę po istniejącej kolumnie w SQL Server 2005

  4. Nie można połączyć się z serwerem SQL SERVER 2000

  5. Naruszenie unikatowego klucza w programie SQL Server — czy można bezpiecznie założyć błąd 2627?