Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision |
abap:opensql [2014/11/07 12:44] – ginko | abap:opensql [2016/09/08 11:46] (current) – [Open SQL] ginko |
---|
* ''SELECT ... FOR ALL ENTRIES'' (Rappel : toujours vérifier que la table sur laquelle on boucle n'est pas vide sous peine de ramasser en jointure toutes les entrées de la table requêtée...) | * ''SELECT ... FOR ALL ENTRIES'' (Rappel : toujours vérifier que la table sur laquelle on boucle n'est pas vide sous peine de ramasser en jointure toutes les entrées de la table requêtée...) |
* L'instruction ''MODIFY'' doit être employée au sein d'une boucle sur la table interne correspondante à moins de spécifier explicitement l'index :<code abap>* J'utilise le table header ici, mais ça marche pareil avec une work area explicite | * L'instruction ''MODIFY'' doit être employée au sein d'une boucle sur la table interne correspondante à moins de spécifier explicitement l'index :<code abap>* J'utilise le table header ici, mais ça marche pareil avec une work area explicite |
TABLES itab. | TABLES dbtab. |
LOOP AT itab. | LOOP AT dbtab. |
itab-k2 = val2. | dbtab-k2 = val2. |
MODIFY itab. | MODIFY dbtab. |
ENDLOOP. | ENDLOOP. |
| |
* Ou bien : | * Ou bien : |
READ TABLE itab into wa WITH KEY k1 = val1. | READ TABLE dbtab into wa WITH KEY k1 = val1. |
wa-k2 = val2. | wa-k2 = val2. |
MODIFY itab FROM wa INDEX sy-tabix. " Eh ouais, le READ TABLE set le sy-tabix :)</code> | MODIFY dbtab FROM wa INDEX sy-tabix. " Eh ouais, le READ TABLE set le sy-tabix :)</code> |
| |
* ''SELECT'' | * ''SELECT'' |
* ''UPDATE'' : | * ''UPDATE'' : |
* ''MODIFY'' : Insert les lignes nouvelles, update les lignes existantes (d'après les clés). | * ''MODIFY'' : Insert les lignes nouvelles, update les lignes existantes (d'après les clés). |
| |
| [[sap:tips_tricks#SQL|Tips]] |
| ===== Optimizer ===== |
| [[http://wiki.scn.sap.com/wiki/display/ABAP/SQL+Optimizer]] |
| |