PL/SQL - SQL/NoSQL - Programmation
Marsh Posté le 23-05-2006 à 17:39:46
le coup des dbms_output est la seule solution que je connaisse. cependant, y'en a peut-être d'autres
(je sens que ça t'ête vachement là )
sinon, tu peux aussi faire un batch, qui lance des sqlplus avec la requête, et qui passe lui-même ces paramètres. t'aura une sortie à l'écran ou dans un fichier... mais pas dans toad
Marsh Posté le 24-05-2006 à 11:28:15
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
J'ai déclaré un cursor comme étant ma requête.
A l'exécution, il y a maintenant une erreur sur la ligne du OPEN.
Ci-dessous le message d'erreur:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Est-ce dû à la taille de la requête?
Les CURSOR sont-ils limités en taille?
Merci de votre aide
Marsh Posté le 24-05-2006 à 11:29:36
set serveroutput size 1000000
si c'est pas suffisant faudrait générer le résultat dans un fichier
Marsh Posté le 24-05-2006 à 11:35:50
orafrance a écrit : set serveroutput size 1000000 |
Ok, je vais tester.
Dites, je profite de votre réponse pour avoir une précision.
En fait, j'utilise un progiciel qui alimente une base de données à partir de requêtes Oracle.
C'est à dire qu'initialement, sous Toad ou sous Sqlplus ces requêtes affichaient à l'execution les tuples.
Mais là en réécrivant la requête en PL/SQL, comment faire en sorte que les sorties se fassent de la même façon afin que mon progiciel puisse alimenter la BD?
Là je fais mes tests avec des DBMS_OUTPUT.PUT_LINE mais je ne suis pas sûr du résultat.
Ou faudra-t-il utiliser la notion de RESULT CURSOR?
Marsh Posté le 24-05-2006 à 11:37:37
le mieux c'est que l'insert soit fait dans le code PL/SQL plutôt que l'appli... sinon, ça dépend du fonctionnement du progiciel en question
Marsh Posté le 24-05-2006 à 11:39:15
orafrance a écrit : le mieux c'est que l'insert soit fait dans le code PL/SQL plutôt que l'appli... sinon, ça dépend du fonctionnement du progiciel en question |
Zut! Je suis inquiet.
Car la configuration est-elle que la connexion et l'envoi des tuples se fait de façon transparente.
Marsh Posté le 24-05-2006 à 11:52:21
orafrance a écrit : le mieux c'est que l'insert soit fait dans le code PL/SQL plutôt que l'appli... sinon, ça dépend du fonctionnement du progiciel en question |
Dites,
La structure de données TABLE disponible sous PL/SQL pourrait-elle faire l'affaire?
Je vais y faire des INSERT temporairement.
Marsh Posté le 24-05-2006 à 11:58:17
ReplyMarsh Posté le 24-05-2006 à 12:04:35
orafrance a écrit : je ne peux rien affirmer sans savoir comment travail le progiciel |
Pouvez-vous me briefer rapidement sur la notion de table PL/SQL
Marsh Posté le 24-05-2006 à 12:09:57
voila qui devrait faire ton bonheur
http://sheikyerbouti.developpez.com/pl_sql/?page=Chap5
Marsh Posté le 24-05-2006 à 12:19:26
orafrance a écrit : voila qui devrait faire ton bonheur |
Merci
Marsh Posté le 23-05-2006 à 17:23:47
Bonjour,
J'ai besoin d'un coup de main.
Voilà, soit une requête sql quelconque.
Pour des raisons techniques j'ai besoin de la jouer plusieurs fois (à chaque fois, je lui filerai une valeur différente d'un paramètre).
En raison de cet aspect procédural, je voudrais utiliser PL/SQL.
Je pense donc qu'il suffit d'une extension consistant à enrober ma requête initiale dans un bloc PL/SQL (BEGIN...END.
Mais comment faire si je veux toujours avoir à l'exécution (sous Sqlplus par exemple), la liste des tuples qui s'affiche comme initialement.
En gros, la sortie de résultat resterait identique sauf que le code serait transformé en code PL/SQL.
Dois-je là aussi définir un cursor et faire des dbms...output?
Merci de votre aide.