Bonjour à tous,
Je bloque sur une requête, n'étant pas un grand du SQL. La requête est la suivante :
Et elle me renvoie "[Error Code: 907, SQL State: 42000] ORA-00907: parenthèse de droite absente" lors d'une exécution sous DBVisualiseur par exemple (Hibernate idem).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 delete from MA_AWARD_TITLE where AWARD_TITLE_ID in (select award.AWARD_TITLE_ID from (MA_AWARD_TITLE award left join MA_WINS wins on wins.AWARD_TITLE_ID=award.AWARD_TITLE_ID) left join MA_CONTRIBUTOR_WINS c_wins on c_wins.AWARD_TITLE_ID=award.AWARD_TITLE_ID where award.ASSET_ID is null and wins.AWARD_TITLE_ID is null and c_wins.AWARD_TITLE_ID is null and rownum > 0 and rownum <= 100 order by award.AWARD_TITLE_ID )
Mon Oracle est un 10g.
Losque j'éxécute juste la "sous-requête" suivante je n'ai pas de soucis :
Je pense que le soucis vient du "order by" mais je ne peux pas m'en passer, en effet mon code métier doit supprimer les entrées de la table par paquets de 100 donc de façon ordonnée de manière à passer au paquet suivant si un échec a lieu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 select award.AWARD_TITLE_ID from (MA_AWARD_TITLE award left join MA_WINS wins on wins.AWARD_TITLE_ID=award.AWARD_TITLE_ID) left join MA_CONTRIBUTOR_WINS c_wins on c_wins.AWARD_TITLE_ID=award.AWARD_TITLE_ID where award.ASSET_ID is null and wins.AWARD_TITLE_ID is null and c_wins.AWARD_TITLE_ID is null and rownum > 0 and rownum <= 100 order by award.AWARD_TITLE_ID
Si l'un de vous peut m'aiguiller
Partager