|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 65 ![]() |
Bonjour à tous,
j'ai un petit pb avec pl/sql. En effet, lorsque je lance la procédure pl/sql suivante avec DELETE, tout fonctionne normalement, alors que si je cherche à optimiser mon code et que j'utilise TRUNCATE, j'ai un message d'erreur. Pouvez-vous m'aider à résoudre ce problème ? Par ailleurs, si vous avez des suggestions pour améliorer ce genre de requêtes, elles sont les bienvenues -copie partielle d'une table d'un schéma dans un autre schéma, de façon régulière (c'est à dire tous les mois) - création d'un fichier de "log" qui sauvegarde automatiquement les données affichées par le dbms_output. Merci à tous MarieO Le message d'erreur est le suivant: Citation:
Voici le code concerné: Code :
|
|||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Il faut faire du sql dynamique pour du DDL
Code :
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
||
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Inscription : octobre 2006 Messages : 221 ![]() |
Code :
|
||
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 65 ![]() |
Merci à vous deux pour cette réponse rapide.
Ca marche !!! Je ne connaissais pas le SQL dynamique... Maintenant, j'aurais de nouvelles pistes de travail. D'autre part, si vous avez des idées pour automatiser des copies partielles de tables d'un schéma dans un autre tous les mois et optimier le code que j'utilise, elles sont les bienvenues... MarieO |
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
regarde du coté des jobs
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 319 ![]() |
Vous n’avez pas besoin du SQL dynamique. Il suffit de sortir le truncate ainsi que le insert du bloc PL/SQL.
|
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Citation:
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
|
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
en effet d'ailleurs, on peut s'interroger sur l'usage du PL/SQL dans le cas présent
|
|
|
00
|
|
|
#9 | ||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Code :
|
||
|
|
00
|
|
|
#10 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 65 ![]() |
Est-ce que le fait de sortir mes requêtes TRUNCATE ... et INSERT INTO ... du bloc pl/sql va optimiser le traitement ?
Qu'est-ce que cela change entre le fait de le mettre DANS le bloc ou HORS du bloc ? Est-il possible de créer un fichier .txt (sauvegardé dans un répertoire quelconque) qui contienne l'information affichée par dbms_output plutôt que de faire l'affichage à l'écran ? Marieo |
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
PROMPT dans SQL*Plus permet d'afficher du texte
|
|
|
00
|
|
|
#12 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 65 ![]() |
Bonjour,
Prompt affiche du texte, mais uniquement à l'écran, n'est-ce pas ? D'autre part, je travaille avec sql developer. MarieO |
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Comme dbms_output
je ne sais pas si PROMPT fonctionne dans SQL Dev. Ceci étant tu peux continuer en PL/SQL mais en sortant le TRUNCATE du bloc. Ca n'aura pas d'effet sur le perf (du moins, négligeable) mais c'est plus propre que le SQL dynamique qui ici est inutile |
|
|
00
|
|
|
#14 |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 523 ![]() |
|
|
|
00
|
|
|
#15 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
c'est mnitu qui a lever le "loup"
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com