Oracle permet de faire des requêtes dans le dictionnaire de la base de donnée.
Pour lister toutes les colonnes des tables :
SELECT column_name,table_name FROM user_tab_columns;
Pour rechercher les colonnes contenant la chaîne de caractère "CODE" :
SELECT column_name,table_name FROM user_tab_columns WHERE column_name like '%CODE%';
Des blocs et des notes
Notes et astuces sur de nombreux sujets d'informatique : Excel, Oracle, Mysql, PHP, XML ...
jeudi 13 août 2015
vendredi 18 octobre 2013
Oracle : Comment connaître les index utilisés par une requête
Pour connaître les index utilisés par une requête, il faut utiliser l'instruction EXPLAIN PLAN.
EXPLAIN PLAN FOR (SELECT * FROM ma_table WHERE ma_colonne='iuhuhj');
SELECT PLAN_TABLE_OUTPUT FROM TABLE(dbms_xplan.display());
Ce qui donne le tableau suivant, avec le coût (dernière colonne) de chaque étape :
-------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
-------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 782 | 3 |
| 1 | TABLE ACCESS BY INDEX ROWID| MA_TABLE | 1 | 782 | 3 |
| 2 | INDEX RANGE SCAN | PK_ID_TABLE | 1 | | 2 |
-------------------------------------------------------------------------------------
Ce qui donne le tableau suivant, avec le coût (dernière colonne) de chaque étape :
-------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
-------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 782 | 3 |
| 1 | TABLE ACCESS BY INDEX ROWID| MA_TABLE | 1 | 782 | 3 |
| 2 | INDEX RANGE SCAN | PK_ID_TABLE | 1 | | 2 |
-------------------------------------------------------------------------------------
jeudi 17 octobre 2013
Oracle : Comment rechercher les doublons dans une table
Pour rechercher les doublons dans une table, il faut faire une requête imbriquée en utilisant l'instruction ROWID.
SELECT * FROM ma_table a WHERE a.ma_colonne IN (SELECT b.ma_colonne FROM ma_table b WHERE a.ROWID <> b.ROWID);
Oracle : Comment supprimer tous les enregistrements d'une table
Pour supprimer tous les enregistrements d'une table, il faut utiliser l'instruction TRUNCATE.
Pour vide une
table Oracle :
TRUNCATE TABLE ma_table;
Oracle : Comment paginer ou limiter le nombre d'enregistrement d'une requête
Pour paginer ou limiter le nombre d'enregistrement retournés par une requête, il faut utiliser l'instruction ROWNUM.
SELECT * FROM(SELECT ROWNUM as num_colonne, ma_colonne FROM ma_table)
WHERE num_colonne BETWEEN debut AND fin;
Exemple :
Pour paginer, de 10 en 10 les requêtes sont :
SELECT * FROM
(SELECT ROWNUM as num_colonne, ma_colonne FROM ma_table)
WHERE num_colonne BETWEEN 1 AND 10;
SELECT * FROM
(SELECT ROWNUM as num_colonne, ma_colonne FROM ma_table)
WHERE num_colonne BETWEEN 11 AND 20;
.....
jeudi 10 octobre 2013
Dos : Comment couper une colonne de n caractères d'un fichier texte
Pour couper une colonne de n caractères d'un fichier il faut utiliser la commande Dos cut.
Voir le post lancer la fenêtre dos pour obtenir l'écran ligne de commande Dos.La commande ci-dessous selectionne la colonne des caractères 2 à 5 du fichire fichier1.txt et les place dans le fichier fichier_coupe.txt.
cut -c 2-5 fichier1.txt > fichier_coupe.txt
Dos : Comment supprimer les doublons d'un fichier
Pour supprimer les doublons d'un fichier il faut utiliser les commandes Dos sort et uniq.
Voir le post lancer la fenêtre dos pour obtenir l'écran ligne de commande Dos.La commande uniq enlève les doublons des lignes successives, il faut donc trier le fichier avant d'utiliser cette commande.
Pour trier le fichier fichier1.txt et créé le fichier trié fichier_trie.txt :
sort fichier1.txt > fichier_trie.txt
Pour enlever les lignes en doublons et créer le nouveau fichier fichier_sans_doublon.txt :
uniq fichier_trie.txt fichier_sans_boublon.txt
Inscription à :
Articles (Atom)