Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 13/02/2007, 11h44   #1
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 41
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 41
Points : 33
Points : 33
Par défaut requete avec colonne parametré en Plsql 9i

Sous oracle9i
Comment peux-t-on parametrer le nom d'une colonne de selection dans une requete afin de varier les colonnes de selection dans une boucle.

prodecure p_proc(n number)
begin

for i in 1..n loop
select 'T.col.'||i into val from T;

end loop;

end;
ktano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 11h57   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Fais une recherche sur execute immediate, tu trouveras une foule d'exemples.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 11h58   #3
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 60
Points : 12
Points : 12
Fais un execute immediate.
EXECUTE IMMEDIATE 'SELECT '|| T_COL||' from table';
Vince7-7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 11h59   #4
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
Bonjour,

qu'est ce que tu veux obtenir ?

Quelques choses comme ça :
Code :
1
2
3
4
5
6
7
8
9
prodecure p_proc(n number, col varchar2)
begin
 
FOR i IN 1..n loop
execute immediate 'select T.' || col ||' i into val from T';
 
end loop;
 
end;
kalyparker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 12h06   #5
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Citation:
Envoyé par kalyparker
Bonjour,

qu'est ce que tu veux obtenir ?

Quelques choses comme ça :
Code :
1
2
3
4
5
6
7
8
9
prodecure p_proc(n number, col varchar2)
begin
 
FOR i IN 1..n loop
execute immediate 'select T.' || col ||' i into val from T';
 
end loop;
 
end;
Hum , n'est-ce pas plutôt :
Code :
1
2
3
4
5
6
7
8
9
prodecure p_proc(n number, col varchar2)
begin
 
FOR i IN 1..n loop
execute immediate 'select T.col'  || i || ' from T' INTO val;
 
end loop;
 
end;
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 12h14   #6
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
Heureusement que tu est là plaineR,
sinon qu'est ce que je raconterais comme bétise

en fait j'avais repri (ok, mal repri) l'exemple de ktano.

donc si on repart là dessus il me manque un .

Code :
execute immediate 'select T.' || col ||'.' ||i || ' from T ' INTO val;
Je crois qu'on est bon là !
kalyparker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 14h45   #7
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 41
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 41
Points : 33
Points : 33
Ok merci à tous.
ktano est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h16.


 
 
 
 
Partenaires

Hébergement Web