Oracle 9i
Bonjour,
Existe-t'il une vue donnant le nom des fichiers de données ?
Je connais la colonne name de la vue v$datafile mais le problème est qu'il a le chemin complet vers le fichier et je ne vois pas comment couper la chaîne...
Version imprimable
Oracle 9i
Bonjour,
Existe-t'il une vue donnant le nom des fichiers de données ?
Je connais la colonne name de la vue v$datafile mais le problème est qu'il a le chemin complet vers le fichier et je ne vois pas comment couper la chaîne...
SUBSTR et INSTR sont tes amis :)
C'est bien ce que je pensais... mais le problème, c'est que le nom du fichier est du style : /u02/oracle/product/data/users.dbf
INSTR récupère l'emplacement numérique du premier caractère rencontré donc un INSTR('/u02/oracle/product/data/users.dbf','/') donnerait l'emplacement 1. si on concatène ca dans un SUBTR, j'obtiendrais donc:
u02/oracle/product/data/users.dbf
Comment fais-tu pour supprimer les autres '/' sachant que la longueur du chemin peut changer ?
Code:SELECT name, SUBSTR(NAME, INSTR(NAME,'/',-1) + 1, 200) FROM v$datafile
Si tu prenais la peine de chercher un peu (dans la doc officielle sur INSTR par exemple), tu verrais que tu peux mettre une position négative pour qu'Oracle commence la recherche à l'envers (en l'occurence mettre la valeur -1 pour ton cas) :roll:
Edit : j'ai été devancé dans la réponse ;)
c'est bon, j'ai honte... je viens de regarder et j'avais oublier que le INSTR pouvait partir de la fin... je suis désolé d'avoir crée un sujet aussi pourri...
:oops::oops::oops::oops:
ALlez ON FERME !Code:SELECT SUBSTR(name, INSTR(name,'/',-1)+1)from v$datafile;
ou même :
le 3eme paramètre de SUBSTR est facultatif :king:Code:SELECT SUBSTR(NAME, INSTR(NAME,'\',-1) + 1) FROM v$datafile
Edit : grillé :calim2:
J'ai honte........... :boulet:
Et on enfonce encore... :piou:
Je tiens à présenter mes plus plates excuses à tous les rédacteurs/admin du forums, à ceux qui ont répondu à ce sujet et à tous ceux qui sont entrain de le lire... en même temps si vous êtes entrés dans ce topic pour lire ce sujet car cela vous intéressez, et bien vous êtes vous aussi des nano-billes comme le dis si bien SheikYerbouti.
Je vais dès à présent me petit-suicider.
Excuses acceptées ;)
Le plus dangereux ce n'est pas de ne pas savoir, c'est de croire que l'on sait :mouarf: