Exemple de încărcare în masă xml (sqlxml 4

Urmați codul de mai sus pentru VBScript. În cazul încărcării în bloc, datele XML sunt încărcate în tabelele Cust și CustOrder.

Circuit echivalent XDR:

Acest exemplu arată modul în care relația M: N specificată în schema de mapare este utilizată pentru încărcarea în masă XML a datelor reprezentând relația M: N.

De exemplu, luați în considerare următoarea schemă XSD.

Schema indică un element cu element copil . element este mapat la tabelul Ord, iar elementul - cu tabelul Produs. Legătura lanțului definită pentru un element . Indică relația M: N reprezentată de tabelul OrderDetail (comanda poate include o varietate de produse și produsul poate face parte din mai multe comenzi).

Când încărcați un document XML cu această schemă, înregistrările sunt adăugate în tabelele Ord, Product și OrderDetail.

Verificați proba de lucru

Creați trei tabele.

În acest exemplu de încărcare în bloc XML, proprietatea KeepIdentity a modelului obiect BulkLoad este False. Prin urmare, SQL Server generează valorile ID pentru coloanele ProductID și OrderID, respectiv (toate valorile specificate în documentele de încărcare în bloc sunt ignorate).

În acest caz, încărcarea XML în bloc identifică relația cheie primară-străină între tabele. În primul rând, încărcarea în vrac încarcă înregistrările în tabele cu o cheie primară și apoi distribuie valorile identificatorului generate de SQL Server în tabelele cu coloane de chei externe. În exemplul următor, o încărcare XML în bloc inseră date într-un tabel în ordinea următoare.


Pentru a distribui valorile identificatorilor generați în tabelele Products and Orders la chei străine, logica de procesare cere ca sarcina în vrac XML să urmărească aceste valori pentru inserarea ulterioară în tabelul OrderDetails. Pentru a face acest lucru, încărcarea în bloc a XML creează tabele intermediare, umple aceste tabele cu date și ulterior le șterge.

Verificați proba de lucru

Creați tabelele următoare.

Dacă schema de mapare specifică o coloană de tip de date xml cu nota sql: datatype = "xml". încărcarea în bloc XML poate copia elementele copil ale XML din câmpul cartografiat din documentul sursă din această coloană.

Luați în considerare următoarea schemă XSD care cartografiază vizualizarea tabelului Production.ProductModel la baza de date AdventureWorks. În acest tabel, câmpul CatalogDescription din tipul de date xml se potrivește cu elementul cu ajutorul notelor sql: field și sql: datatype = "xml".

Verificați proba de lucru

Verificați dacă este instalată baza de date eșantion AdventureWorks.