enregistrer requête dans une table

enregistrer requête dans une table - SQL/NoSQL - Programmation

Marsh Posté le 25-04-2003 à 14:49:51    

j'effectue une requete de sélection et je voudrais enregistrer le résultat dans une table, car j'en ai besoin pour effectuer différents traitements.
Si quelqu'un savait si s'était posssible d'enregister une requête ça m'aiderait bcp.
Merci d'avance.

Reply

Marsh Posté le 25-04-2003 à 14:49:51   

Reply

Marsh Posté le 25-04-2003 à 15:01:16    

Qu'est qu'une requete ?
 
- Du texte
 
Peut-on stocker du texte dans une BD ?
 
- Oui
 
CQFD :/
 
Si ma reponse est limitée c'est que ta question n'exprime pas bien ce que tu veux faire...
 
EDIT :  bravo Masure  [:yaisse2]  
 
Une fois de plus j'ai sauté un mot capital qui fait que jerepond a coté en fanfaronnant. Je suis génial :lol:
 
Si tu connais la structure de sortie de ton select tu peux bien sur stocker le resultat en reinjectant les valeurs dans une table de meme structure.


Message édité par Masure le 25-04-2003 à 15:04:42
Reply

Marsh Posté le 25-04-2003 à 15:04:11    

Oui mais comment j'ai essayé plusieurs ptit truc masi j'ai pas trouvé la bonne syntaxe

Reply

Marsh Posté le 25-04-2003 à 15:07:35    

Explication.
J'ai plusieurs tables. Je veux faire une sélection d'enregistrements à partir de plusieurs tableS.
Je veux que le résultat de cette requête soit enregistrée dans une nouvelle table car j'ai besoin de cette nouvelle table pour effectuer d'autres traitements joints avec d'autre table.
 
Le problème est donc comment enregistrer le résultat d'une requête dans une nouvelle table.

Reply

Marsh Posté le 25-04-2003 à 15:09:14    

Vu la complexité des tables et des enregistrements est-il nécessaire d'avoir déjà des tables existantes.

Reply

Marsh Posté le 25-04-2003 à 15:09:57    

Je connais oracle qui integre PL/SQL et qui permet de programmer gentiment. Maintenant si ton SGBD ne fait pas ca a la base, tu seras obligé de passer par le langage de prog avec le quel tu interfaces ta BD (est ce que je dis qqchose de correct au moins ?!)
 
En pl/sql :
 

Code :
  1. create procedure nom_proc(params)
  2. declare
  3. V_CODE PERSONNE.CODE%type
  4. V_NOM PERSONNE.NOM%type
  5. V_PRENOM PERSONNE.PRENOM%type
  6. begin
  7. select CODE, NOM, PRENOM into V_CODE, V_NOM, V_PRENOM from PERSONNE where gnagna ;
  8. insert into AUTRE_TABLE (CODE, NOM, PRENOM) values (V_CODE, V_NOM, V_PRENOM) ;
  9. end nom_proc;

Reply

Marsh Posté le 25-04-2003 à 15:40:00    

Sinon tu peux faire un truc dans le style ...
 
1) delete * from matable_cible
 
2)
Insert into matable_cible
select t.cle as monlib, t1.cle as monlib1..
from table_source t inner join table_source t1
on t.cle = t1.cle

ou
 
Insert into matable_cible
select t.cle as monlib, t1.cle as monlib1..
from table_source t, table_source t1
where t.cle = t1.cle

 
 

Reply

Marsh Posté le 25-04-2003 à 15:51:32    

Y a aussi :
create table bidule as select machin , truc, chouette from zoubidou z, zoubida t where z.id = t.id;

Reply

Marsh Posté le 25-04-2003 à 16:05:52    

tomlameche a écrit :

Y a aussi :
create table bidule as select machin , truc, chouette from zoubidou z, zoubida t where z.id = t.id;


C'est quelque chose dans ce style là qui m'interresse

Reply

Marsh Posté le 25-04-2003 à 16:10:04    

maxwell01 a écrit :


C'est quelque chose dans ce style là qui m'interresse


ben ca ( sous Oracle en tout cas je viens de le faire ) ca marche.

Reply

Marsh Posté le 25-04-2003 à 16:10:04   

Reply

Marsh Posté le 25-04-2003 à 16:15:41    

Quand je fais ça:
CREATE TABLE TEST as select * from mp003p
 
J''obtiens le message:
Le mot clé AS ne devrait pas être là. Une erreur de syntaxe a été détectée sur le mot clé AS. ( LIKE est une liste partielle des éléments corrects. Cette liste suppose que l'instruction est correcte jusqu'à cet élément. L'erreur peut être située plus haut dans l'instruction, mais la syntaxe de l'instruction apparaît correcte jusqu'à ce point.
 
Why???

Reply

Marsh Posté le 25-04-2003 à 16:17:14    

maxwell01 a écrit :

Quand je fais ça:
CREATE TABLE TEST as select * from mp003p
 
J''obtiens le message:
Le mot clé AS ne devrait pas être là. Une erreur de syntaxe a été détectée sur le mot clé AS. ( LIKE est une liste partielle des éléments corrects. Cette liste suppose que l'instruction est correcte jusqu'à cet élément. L'erreur peut être située plus haut dans l'instruction, mais la syntaxe de l'instruction apparaît correcte jusqu'à ce point.
 
Why???


Quel est ton SGBD ?

Reply

Marsh Posté le 25-04-2003 à 16:18:16    

DB2 for AS/400

Reply

Marsh Posté le 25-04-2003 à 16:22:25    

maxwell01 a écrit :

DB2 for AS/400


Je connais mal DB2, mais je crois qu'effectivement ca marche pas sous DB2 ...
Essai ici peut être : http://forum.onecenter.com/forumdb2/

Reply

Marsh Posté le 25-04-2003 à 16:23:34    

Essaie ça :
 
CREATE TABLE TEST  
select * from mp003p

Reply

Marsh Posté le 25-04-2003 à 16:31:55    

Je vais mettre un post là bas, mais bon si vous avez des idées n'hesitez pas

Reply

Marsh Posté le 25-04-2003 à 16:35:04    

vttman2 a écrit :

Essaie ça :
 
CREATE TABLE TEST  
select * from mp003p
 


J'ai essayé et j'obtiens ça:
Le mot clé SELECT est mal placé

Reply

Marsh Posté le 25-04-2003 à 16:55:10    

pourquoi au lieu d'essayer toutes les combi et de demander a des gens qui ne connaissent pas db2 sur le bout des doigts tu ne lirais pas une doc qui decrit la syntaxe d'un create table en db2 ? tu verrais de suite ce qui est possible ou pas ...

Reply

Marsh Posté le 25-04-2003 à 17:01:34    

pour espérer avoir des réponses concluantes, il vaut mieux poser la question à le plus de personnes possibles, non?
J'ai déjà poser ce post sur d'autres forum mais bon ça ne répond pas aussi vite, j'ai eu qu'une réponse sur deux autres forum, et je n'ai toujours pas eu la réponse que j'espérai obtenir.

Reply

Marsh Posté le 25-04-2003 à 17:04:30    

Et je n'ai pas trouvé de doc sur DB2

Reply

Sujets relatifs:

Leave a Replay

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