Bonjour,
Nota : je suis débutant sur bdd Oracle.
Le contexte :
J'ai récupéré une "application".
En gros, c'est une base Oracle relais qui récupère des données d'applications et qui fourni d'autres applications. Le tout grace à des .bat et des .sql qui utilisent CFT, sqlldr et sqlplus. Une centaine de tables, autant de vues, une quarantaine de .bat et le double de .SQL. Cool...
Ah, j'oubliais, le précédent développeur à décider qu'il n'y aurait pas ni identifiants ni clés primaires de définies dans les tables...
On peut visualiser certaines données grace à une application web créé par CodeOnTime (http://codeontime.com/).Certaines tables sont même en écriture !
Ah...oui, c'est bien, mais la MOA vient de s'apercevoir que l'on peut faire des doublons .
Je doit donc faire une "business rule" en SQL dans CodeOnTime avant l'insertion/modification pour éviter les doublons. La doc de COT ne connait quasiment que SQL Server (moi aussi d'ailleurs !).
Donc le script de test avant insertion/modification est:
:ENTITE_PC et :SETID correpondent au données que je veux Ajouter/Modifier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 begin declare Existe Decimal; begin select count(*) into :Existe from MaTable where ENTITE_PC= :ENTITE_PC and SETID = :SETID; IF :Existe > 0 then :BusinessRules_PreventDefault :=1; :Result_Focus :='Le Machin ' + :ENTITE_PC + ' ' + :SETID +' existe déjà.'; :Result_ShowViewMessage := 'Erreur lors de lexécution de la commande ' + :Arguments_CommandName ; End if; end; end;
:BusinessRules_PreventDefault, :Result_Focus, :Result_ShowViewMessage et :Arguments_CommandName sont propres à COT et indique , s'il y eu une erreur; les messages d'erreur ainsi que le type de "command" (insert ou update).
Ca fonctionne dans SQLDevelopper, mais dans l'application WEB j'ai cette erreur :
J'ai tracé le code généré par COT dans Visual Studio et les variables sont bien envoyées en paramétres à la requête.ORA-01008: toutes les variables ne sont pas liées
Si quelqu'un pouvait m'aiguiller, mes deux collegues connaissnt Oracle sont en congés jusqu'a fin août, et je doit faire une MEP le 2 septembre
Partager