Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/07/2011, 14h32   #1
Invité de passage
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 19
Points : 3
Points : 3
Par défaut Comment populer une table automatiquement? Et comment trouver les valeurs non presentes dans la base cible ?

Bonjour

Est il possible sous Oracle de populer une table de facon plus rapide qu un INSERT par nouvelle valeur souhaitee (idee: AUTOGENERATE...) ?
J ai deux bornes (une inf et une sup ) qui me serviront pour les champs a inserer.

Ex. Bornes = 1 - 200
La table devra contenir les valeurs de 1 a 200




De plus j ai des champs codes en VARCHAR2(11) qui sont des entiers.
Je souhaite trouver les champs n etant pas presents dans cette table.
Je pensais passer par la table que je souhaite creer ci dessous mais ne vois pas bien comment faire cela. Dois je convertir les VARCHAR2 en NUMBER ?

So far voici ce que j ai fait :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
DROP VIEW TMP_ValuesBoundaries ;
 
CREATE VIEW TMP_ValuesBoundaries AS
SELECT 
      MIN(serial) AS MinSerial,
      MAX(serial) AS MaxSerial,
      COUNT(serial) AS NbSerial
FROM  VALUES
WHERE  
  RTRIM(serial,'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') = serial )
    AND ( LTRIM(serial,'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') = serial );
 
 
-- SELECT * FROM TMP_ValuesBoundaries;
 
CREATE VIEW TMP_ValuesAvailable AS
SELECT 
    ??? -- autogenerated values
FROM DUAL
WHERE SERIAL NOT IN (SELECT.....)
Merci par avance
Orpheus67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 10h49   #2
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
Est ce ça dont tu as besoin ?
Code :
1
2
 SELECT level FROM dual
connect BY level <= 200
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 12h16   #3
Invité de passage
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 19
Points : 3
Points : 3
Salut

Cela fait une partie du travail ^^ merci.
Est il possible de faire une restriction sur l ensemble?
En gros je souhaiterai populer une table avec les valeurs entre une borne min (disons 30) et une max (500.

Une fois cette table creee je ferais un where not exists sur une autre table pour trouver les valeurs dispo.

merci
Orpheus67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h42.


 
 
 
 
Partenaires

Hébergement Web