Condividi tramite


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

L'adapter Microsoft BizTalk per Oracle Database espone le operazioni di base di inserimento, aggiornamento, eliminazione e selezione per ogni tabella e vista nel database Oracle. Queste operazioni eseguono l'istruzione SQL appropriata qualificata da una clausola WHERE. L'adattatore Oracle Database usa record e set di record fortemente tipizzato in queste operazioni.

Struttura dei messaggi per operazioni di tabella di base

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

Insert

Esistono i tipi seguenti di operazioni di inserimento. Un messaggio può contenere un solo tipo di operazione Di inserimento.

  • L'inserimento di più record inserisce il set di record fornito di dati fortemente tipizzato nella tabella di destinazione.
  • Per ogni record in un inserimento di record multipli, è possibile specificare il valore per un attributo facoltativo denominato InlineValue. Se specificato, esegue l'override del valore dell'elemento.
  • Inserimento bulk inserisce il set di record restituito da una query SELECT specificata nell'elemento QUERY nella tabella di destinazione. A tale scopo, usare l'elenco delimitato da virgole delle colonne specificate nell'elemento COLUMN_NAMES.

Messaggio XML

Inserimento di più record

<Insert xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">   
<RECORDSET>     
<[TABLE_NAME]RECORDINSERT>       
<[FIELD1_NAME InlineValue="value"]>value1</[FIELD1_NAME]>       
<[FIELD2_NAME InlineValue="value"]>value2</[FIELD2_NAME]>       
…     
</[TABLE_NAME]RECORDINSERT>       
<[TABLE_NAME]RECORDINSERT >       
<[FIELD1_NAME InlineValue="value"]>value1</[FIELD1_NAME]>       
<[FIELD2_NAME InlineValue="value"]>value2</[FIELD2_NAME]>       
…     
</[TABLE_NAME]RECORDINSERT>     
…   
</RECORDSET> 
</Insert>

SQL eseguito dall'adapter: INSERT INTO TABLE_NAME (FIELD1_NAME, FIELD2_NAME, …)VALUES (value1, value2, …);

Inserimento bulk

<Insert xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<COLUMN_NAMES>[COLUMN_list]</COLUMN_NAMES>
<QUERY>[SELECT_query]</QUERY>
</Insert>

SQL eseguito dall'adapter: INSERT INTO TABLE_NAME (COLUMN_list) SELECT_query;

Inserisci risposta

Il numero di righe inserite viene restituito nell'elemento InsertResult.

Messaggio XML

<InsertResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">   
<InsertResult>[rows inserted]</InsertResult> 
</InsertResponse>

Selezione

Viene eseguita una query SELECT nella tabella di destinazione usando la clausola WHERE specificata nell'elemento FILTER. Il set di risultati contiene le colonne nell'elenco delimitato da virgole dei nomi di colonna specificati nell'elemento COLUMN_NAMES.

Messaggio XML

<Select xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">   
<COLUMN_NAMES>[COLUMN_list]</COLUMN_NAMES>   
<FILTER>WHERE_clause</FILTER> 
</Select>

SQL eseguito dall'adapter: SELECT COLUMN_list FROM TABLE_NAME WHERE WHERE_clause;

Selezionare risposta

Set di risultati generato dalla query SELECT.

Messaggio XML

<SelectResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">   
<SelectResult>     
<[TABLE_NAME]RECORDSELECT>       
<[FIELD1_NAME]>value1</[FIELD1_NAME]>       
<[FIELD2_NAME]>value2</[FIELD2_NAME]>       
…     
</[TABLE_NAME]RECORDSELECT>   
</SelectResult> 
</SelectResponse>

Aggiornamento

Le righe che corrispondono alla clausola where specificata nell'elemento FILTER vengono aggiornate ai valori specificati nell'oggetto RECORDSET. In ogni riga corrispondente vengono aggiornate solo le colonne specificate nell'oggetto RECORDSET.

Messaggio XML

<Update xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">   
<RECORDSET>     
<[FIELD1_NAME]>value1</[FIELD1_NAME]>     
<[FIELD2_NAME]>value2</[FIELD2_NAME]>       
…   
</RECORDSET>   
<FILTER>WHERE_clause</FILTER> </Update>

SQL eseguito dall'adapter: UPDATE [TABLE_NAME] SET [FIELD1_NAME] = value1, [FIELD2_NAME] = value2, … WHERE WHERE_clause;

Risposta di aggiornamento

Il numero di righe aggiornate viene restituito nell'elemento UpdateResult.

Messaggio XML

<UpdateResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">   
<UpdateResult>[rows inserted]</UpdateResult> 
</UpdateResponse>

Delete

Le righe corrispondenti alla clausola WHERE specificate dall'elemento FILTER vengono eliminate.

Messaggio XML

<Delete xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">   
<FILTER>WHERE_clause</FILTER> 
</Delete>

SQL eseguito dall'adapter: DELETE FROM [TABLE_NAME] WHERE WHERE_clause;

Elimina risposta

Il numero di righe eliminate viene restituito nell'elemento DeleteResult.

Messaggio XML

<DeleteResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">   
<DeleteResult>[rows inserted]</DeleteResult> 
</DeleteResponse>
Valore segnaposto Descrizione
[VERSION] Stringa di versione del messaggio; Per esempio http://Microsoft.LobServices.OracleDB/2007/03
[SCHEMA] Raccolta di artefatti Oracle; Per esempio SCOTT
[TABLE_NAME] Nome della tabella; Per esempio EMP
[FIELD1_NAME] Nome campo tabella; Per esempio EMPNAME
[COLUMN_list] Elenco delimitato da virgole di colonne; Per esempio NAME
[SELECT_query] Istruzione SQL SELECT specificata nell'elemento QUERY di un'operazione di inserimento bulk; Per esempio SELECT * from MyTable
[WHERE_clause] WHERE_clause per l'istruzione SELECT usata per l'operazione; Per esempio ID > 10

Importante

La struttura dei messaggi per le operazioni di tabella di base sulle viste è uguale a quella delle tabelle, ma lo spazio dei nomi per l'operazione specifica una visualizzazione anziché una tabella: <Insert xmlns ="[VERSION]/[SCHEMA]/``View``/[VIEW_NAME]">.

Azioni messaggio per operazioni di base su tabelle

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

Operazione Azione messaggio Esempio
Insert [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Insert http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Insert
Inserisci risposta [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Insert/response http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Insert/response
Selezione [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Select http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Select
Selezionare risposta [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Select/response http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Select/response
Aggiornamento [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Update http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Update
Risposta di aggiornamento [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Update/response http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Update/response
Delete [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Delete http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Delete
Elimina risposta [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Delete/response http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Delete/response

[VERSION] = Stringa di versione del messaggio; ad esempio . http://Microsoft.LobServices.OracleDB/2007/03

[SCHEMA] = Raccolta di artefatti Oracle; ad esempio SCOTT.

[TABLE_NAME] = Nome della tabella; ad esempio EMP.

Importante

L'azione del messaggio per un'operazione su una vista è uguale a quella di una tabella, ad eccezione del fatto che "View" sostituisce "Table"; ad esempio . http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/``View``/EMPVIEW/Insert

Vedere anche

Messaggi e schemi di messaggio per l'adapter BizTalk per database Oracle