Condividi tramite


Schemi di messaggio per operazioni di inserimento, aggiornamento, eliminazione e selezione in tabelle e viste

L'adapter Microsoft BizTalk per SQL Server visualizza le operazioni Insert, Update, Delete e Select per ogni tabella e vista nel database SQL Server. Queste operazioni eseguono l'istruzione SQL appropriata qualificata da una clausola WHERE. L'adattatore SQL usa record e set di record fortemente tipizzato in queste operazioni.

Struttura dei messaggi per le operazioni di tabella

Nella tabella seguente viene illustrata la struttura dei messaggi XML per le operazioni di tabella di base esposte dall'adapter SQL nelle tabelle di database SQL Server. La tabella di destinazione per un'operazione viene specificata nell'azione del messaggio e viene visualizzata anche nello spazio dei nomi di destinazione.

Operazione Messaggio XML Descrizione SQL eseguito dall'adapter
Insert <Insert xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Rows> <[TABLE_NAME]> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </[TABLE_NAME]> </Rows> </Insert> Inserisce il set di record fornito di dati fortemente tipizzato nella tabella di destinazione. INSERT INTO TABLE_NAME (FIELD1_NAME, FIELD2_NAME, …) VALUES (value1, value2, …);
Inserisci risposta <InsertResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <InsertResult> <long>[Value]</long> </InsertResult> </InsertResponse> Il messaggio Inserisci risposta contiene una matrice di tipo di dati Long. La matrice archivia i valori Identity delle righe inserite, se presenti. Se non è presente alcuna colonna Identity in una tabella, il valore restituito è NULL. --
Selezione Selezione di tutti i record:

<Select xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Columns>*</COLUMNS> <Query></Query> </Select>

Selezione di colonne specifiche in un set di record:

<Select xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Columns>[COLUMN_list]</COLUMNS> <Query>where [WHERE_clause]</Query> </Select>

Aggiornamento dei record come parte dell'operazione Di selezione:

<Select xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Columns>[COLUMN_list]</Columns> <Query>where [WHERE_clause];UPDATE [TABLE_NAME] SET [FIELD1_NAME] = [value1] where [WHERE_clause]</Query> </Select>
Viene eseguita una query SELECT nella tabella di destinazione usando la clausola WHERE specificata nell'elemento . Il set di risultati contiene le colonne nell'elenco delimitato da virgole dei nomi di colonna specificati nell'elemento <Columns> .

È obbligatorio specificare il valore nell'elemento <Columns> . Se tutte le colonne devono essere recuperate in una tabella o in una vista, * deve essere specificato nell'elemento <Columns> . Se è necessario recuperare colonne specifiche, i nomi delle colonne devono essere separati da virgola e specificati nello stesso ordine in cui sono definiti nella tabella o nella vista.

È obbligatorio includere la clausola WHERE nell'istruzione SELECT. Se non si desidera specificare una clausola WHERE, è possibile eliminare l'elemento <Query> o lasciarlo vuoto.

È possibile aggiornare i record usando l'operazione Seleziona. Un'istruzione UPDATE viene inserita nell'elemento <Query> del file XML della richiesta SELECT, separata dalla clausola WHERE da un punto e virgola. Si noti che l'istruzione UPDATE non viene eseguita sul set di risultati dell'istruzione SELECT.
Selezione di tutti i record:

SELECT * FROM [TABLE_NAME] WHERE [WHERE_clause];

Selezione di colonne specifiche in un set di record:

SELECT [COLUMN_list] FROM [TABLE_NAME] WHERE [WHERE_clause];

Aggiornamento dei record come parte dell'operazione Di selezione:

SELECT [COLUMN_list] FROM [TABLE_NAME] WHERE [WHERE_clause]; UPDATE [TABLE_NAME] SET [FIELD1_NAME] = value1 [WHERE_clause];
Selezionare risposta <SelectResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <SelectResult> <[TABLE_NAME]> <[FIELD1_NAME]>[value1]</[FIELD1_NAME]> <[FIELD2_NAME]>[value2]</[FIELD2_NAME]> … </[TABLE_NAME]> </SelectResult> <SelectResponse> Set di risultati fortemente tipizzato generato dalla query SELECT. --
Aggiornamento <SelectResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <SelectResult> <[TABLE_NAME]> <[FIELD1_NAME]>[value1]</[FIELD1_NAME]> <[FIELD2_NAME]>[value2]</[FIELD2_NAME]> … </[TABLE_NAME]> </SelectResult> </SelectResponse>

<Update xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Rows> <RowPair> <After> <[FIELD1_NAME]>[value1]</[FIELD1_NAME]> <[FIELD2_NAME]>[value2]</[FIELD2_NAME]> … </After> <Before> <[FIELD1_NAME]>[value3]</[FIELD1_NAME]> <[FIELD2_NAME]>[value4]</[FIELD2_NAME]> … </Before> </RowPair> </Rows> </Update>
Accetta una matrice di coppie di record come input. Ogni coppia di record è una raccolta di due record fortemente tipizzato:

Il primo record (nell'elemento <After> ) corrisponde ai nuovi valori che devono essere aggiornati.

Il secondo record (in <Before>) corrisponde ai valori precedenti delle righe.
UPDATE [TABLE_NAME] SET [FIELD1_NAME] = value1, [FIELD2_NAME] = value2, … WHERE [FIELD1_NAME] = value3, [FIELD2_NAME] = value4, …;
Risposta di aggiornamento <UpdateResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <UpdateResult>[rows updated]</UpdateResult> </UpdateResponse> Il numero di righe aggiornate viene restituito nell'elemento UpdateResult . --
Delete <Delete xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Rows> <[TABLE_NAME]> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </[TABLE_NAME]> </Rows> </Delete> -- DELETE FROM [TABLE_NAME] WHERE [FIELD1_NAME] = value1, [FIELD2_NAME] = value2, …;
Elimina risposta <DeleteResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <DeleteResult>[rows deleted]</DeleteResult> </DeleteResponse> Il numero di righe eliminate viene restituito nell'elemento DeleteResult . --

[VERSION] = Stringa di versione del messaggio; ad esempio . http://schemas.microsoft.com/Sql/2008/05

[SCHEMA] = Raccolta di SQL Server artefatti, ad esempio dbo.

[TABLE_NAME] = Nome della tabella; Ad esempio, Employee.

[FIELD1_NAME] = Nome campo tabella; ad esempio NAME.

[COLUMN_list] = Elenco delimitato da virgole di colonne; ad esempio Nome, Età, Designazione.

[SELECT_query] = Istruzione SQL SELECT specificata nell'elemento QUERY di un'operazione di inserimento bulk; ad esempio "SELECT * from MyTable"

[WHERE_clause] = WHERE_clause per l'istruzione SELECT usata per l'operazione; Ad esempio, ID > 10.

Importante

La struttura dei messaggi per le operazioni di tabella di base sulle viste è uguale a quella delle tabelle, ad eccezione del fatto che la vista sostituisce la tabella: Insert xmlns="[VERSION]/ViewOp/[SCHEMA]/[VIEW_NAME]".

Azioni messaggio per operazioni di base su tabelle

Nella tabella seguente vengono illustrate le azioni del messaggio utilizzate dall'adapter SQL per le operazioni di base sulle tabelle. L'adapter SQL usa il nome della tabella specificato nell'azione del messaggio per determinare la tabella di destinazione dell'operazione.

Operazione Azione messaggio Esempio
Insert TableOp/Insert/[SCHEMA]/[TABLE_NAME] TableOp/Insert/dbo/Employee
Inserisci risposta TableOp/Insert/[SCHEMA]/[TABLE_NAME]/response TableOp/Insert/dbo/Employee/response
Selezione TableOp/Select/[SCHEMA]/[TABLE_NAME] TableOp/Select/dbo/Employee
Selezionare risposta TableOp/Select/[SCHEMA]/[TABLE_NAME]/response TableOp/Select/dbo/Employee/response
Aggiornamento TableOp/Update/[SCHEMA]/[TABLE_NAME] TableOp/Update/dbo/Employee
Risposta di aggiornamento TableOp/Update/[SCHEMA]/[TABLE_NAME]/response TableOp/Update/dbo/Employee/response
Delete TableOp/Delete/[SCHEMA]/[TABLE_NAME] TableOp/Delete/dbo/Employee
Elimina risposta TableOp/Delete/[SCHEMA]/[TABLE_NAME]/response TableOp/Delete/dbo/Employee/response

[SCHEMA] = Raccolta di SQL Server artefatti, ad esempio dbo.

[TABLE_NAME] = Nome della tabella; Ad esempio, Employee.

Importante

L'azione del messaggio per un'operazione in una vista è uguale a quella per una tabella, ad eccezione del fatto che "ViewOp" sostituisce "TableOp"; ad esempio . ViewOp``/Insert/dbo/Employee_View

Vedere anche

Messaggi e schemi di messaggio per l'adapter BizTalk per SQL Server