Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1445 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  PL/SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PL/SQL

n°1373384
azico
Posté le 23-05-2006 à 17:23:47  profilanswer
 

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.

mood
Publicité
Posté le 23-05-2006 à 17:23:47  profilanswer
 

n°1373402
Arjuna
Aircraft Ident.: F-MBSD
Posté le 23-05-2006 à 17:39:46  profilanswer
 

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à :D)
 
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 :D

n°1373925
azico
Posté le 24-05-2006 à 11:28:15  profilanswer
 

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

n°1373927
orafrance
Posté le 24-05-2006 à 11:29:36  profilanswer
 

set serveroutput size 1000000
 
si c'est pas suffisant faudrait générer le résultat dans un fichier

n°1373936
azico
Posté le 24-05-2006 à 11:35:50  profilanswer
 

orafrance a écrit :

set serveroutput size 1000000
 
si c'est pas suffisant faudrait générer le résultat dans un fichier


 
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?

n°1373937
orafrance
Posté le 24-05-2006 à 11:37:37  profilanswer
 

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 :/

n°1373942
azico
Posté le 24-05-2006 à 11:39:15  profilanswer
 

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.

n°1373959
azico
Posté le 24-05-2006 à 11:52:21  profilanswer
 

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.

n°1373966
orafrance
Posté le 24-05-2006 à 11:58:17  profilanswer
 

je ne peux rien affirmer sans savoir comment travail le progiciel :/

n°1373978
azico
Posté le 24-05-2006 à 12:04:35  profilanswer
 

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

mood
Publicité
Posté le 24-05-2006 à 12:04:35  profilanswer
 

n°1373985
orafrance
Posté le 24-05-2006 à 12:09:57  profilanswer
 
n°1373998
azico
Posté le 24-05-2006 à 12:19:26  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  PL/SQL

 

Sujets relatifs
Editer un champ "texte long" dans une DB SQL avec entrerise managementAccéder en SQL à une base DBASE
[PHP/MySql] Supprimer une table SQL temp dans une session PHPSQL
Fusionner des fichiers texte et les envoyer dans une base SQLRequetes Sql Simples !
[SQL] Requête pour récupérer le classement d'un championnat [Résolu]probleme sur une requete SQL
Utiliser l'attribut SQL SELECT[SQL] Une requete de division
Plus de sujets relatifs à : PL/SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR