2017-08-01 4 views
0

Dans Oracle SOA, vous pouvez insérer plusieurs enregistrements dans Database en une seule transaction. Cela est pris en charge dès la sortie de la boîte et rien de spécial à faire pour l'atteindre. Si vous créez un adaptateur de base de données dans votre processus BPEL avec l'opération INSERT, il est exposé en tant que collection d'objet en tant qu'entrée. Vous pouvez utiliser XSLT pour affecter cette collection et tous les enregistrements seront insérés dans une transaction atomique.Plusieurs entrées d'ID pour une requête de sélection avec oracle bpel dbadapter

Existe-t-il une fonctionnalité équivalente pour une requête sql pure?

J'ai une requête compliquée qui ne nécessite qu'un seul identifiant pour son entrée. Mais j'aime que cette requête soit répétée pour plusieurs ID. Plutôt que de définir une boucle for et quoi d'autre, y a-t-il un drapeau/commutateur/chemin lors de la création du processus bpel pour permettre plusieurs ID comme entrée?

+0

Quelque chose comme 'INSERT ALL' remplirait-il cette exigence? Voici quelques exemples: https://www.techonthenet.com/oracle/questions/insert_rows.php – g00dy

Répondre

0

Peut-être que cette aide:

create table test (id number(3), name varchar2(20)); 

insert into test 
    select t.column_value, dbms_random.string('A', 20) 
    from table(sys.odcinumberlist(4, 17, 105, 91, 212)) t; 

SQL pur, un insert, cinq lignes avec définies id s. Si id est varchar, utilisez sys.odcivarchar2list ou définissez d'abord un type personnalisé.

+0

pas l'idée de maintenir une table pour exécuter une requête est un hack pour nous .. –

+0

Vous n'avez pas à créer une nouvelle table. J'ai créé une table de test pour montrer qu'une telle insertion fonctionne, j'ai dû insérer des données d'échantillon quelque part. –

+0

Désolé mais vous avez mal compris ma question, je n'étais pas intéressé par les opérations d'insertion, mais plutôt par les opérations de sélection –