sql >> Databáze >  >> RDS >> Sqlserver

Vložit do více tabulek na základě dat jiné tabulky

Jak zmínil EzLo, výstup je váš přítel pro načítání vložených hodnot identity:

-- 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. Jak můžete vidět, jakou úroveň izolace transakcí používá libovolná relace oracle

  2. Nelze použít uuid a vytvořit rozšíření pro jeho použití

  3. Jak vyřešit org.hibernate.QueryException:Ne všechny jmenované parametry byly nastaveny jako chyba?

  4. Účinky změny nastavení NLS_LANG v registru pro klienta Oracle