requète SQL sans exécution

requète SQL sans exécution - SQL/NoSQL - Programmation

Marsh Posté le 15-05-2002 à 13:53:47    

Salut tt le monde,  
j'aimerai savoir si il existe une fonction qui permette de voir le résultat d'une requète sans l'exécuter sur la base:
 
ex :
delete
  CONTACT
from
  CONTACT     ori,
  CONTACT_BCP bcp,
  AGENCE_BCP age
where age.av_code=
  select age.av_code from agence where age.AV_MODI = '*'
 
me retourne le nombre de ligne impactées par cette requète, sans pour autant effacer les enregistrements impacté par cette requète.
De plus, il semblerait qu'il y ait une erreur dans cette requète, mais je ne suis pas du tout une star et j'ai un peu de mal! Si quelqu'un a une idée. J'utilise sql Server pour effectuer les requètes.
Merci par avance.

Reply

Marsh Posté le 15-05-2002 à 13:53:47   

Reply

Marsh Posté le 15-05-2002 à 14:06:29    

si tu remplaces "delete CONTACT" par "select count(*)", ca devrait te donner le nombre de lignes concernées.
 
Sinon, ta requête est bizarre. Tu effaces dans la table CONTACT, en t'appuyant sur les tables CONTACT, CONTACT_BCP, AGENCE_BCP, mais sans utiliser ces tables dans le 'where'.

Reply

Marsh Posté le 15-05-2002 à 14:15:15    

bjbebert a écrit a écrit :

si tu remplaces "delete CONTACT" par "select count(*)", ca devrait te donner le nombre de lignes concernées.
 
Sinon, ta requête est bizarre. Tu effaces dans la table CONTACT, en t'appuyant sur les tables CONTACT, CONTACT_BCP, AGENCE_BCP, mais sans utiliser ces tables dans le 'where'.  




 
En fait si il les utilise dans le WHERE via les alias qu'il en a fait (ori, bcp et age). D'ailleurs ce n'est pas nécéssaire ici.
 
Par contre mets la sous-requête entre parenthèses et de plus, le tableau age n'est pas défini dans cette sous-requête (même si elle l'est dans la requête principale).
Essaie ceci :
 

Code :
  1. delete
  2. CONTACT
  3. from
  4. CONTACT,
  5. CONTACT_BCP,
  6. AGENCE_BCP
  7. where AGENCE_BCP.av_code=
  8. (select agence.av_code from agence where agence.AV_MODI = '*')


 
Vérifie si c'est bien la table agence que tu voulais utiliser et aussi vérifie que cette sous-requête renvoie toujours qu'un seul élément!

 

[jfdsdjhfuetppo]--Message édité par Tentacle le 15-05-2002 à 14:15:46--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 15-05-2002 à 14:34:43    

Tentacle a écrit a écrit :

 
 
En fait si il les utilise dans le WHERE via les alias qu'il en a fait (ori, bcp et age). D'ailleurs ce n'est pas nécéssaire ici.




 
bin non il utilise que la référence à la table AGENCE_BCP


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 15-05-2002 à 15:05:45    

Merci les gars!!!
 
Je n'ai pas tester vos conseils mais ça m'ouvre des nouveaux horizons de recherches.
 
Je suis archi newbie en la matière et donc j'essaye au fur et à mesure pour progresser.
Merci et a bientot.
Nautilpray

Reply

Marsh Posté le 15-05-2002 à 15:56:12    

DarkLord a écrit a écrit :

 
 
bin non il utilise que la référence à la table AGENCE_BCP  




 
Ouais en plus :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed