Quantcast

TABLES

Dimanche 10 juin 2012 7 10 /06 /Juin /2012 18:24

 

Afficher les attributs d'une table Oracle.

Comment lister les colonnes et attributs d'une table.
Comment lister les champs d'une table oracle.
Comment connaître les attributs de colonnes d'une table.

Script affichage des attributs de table Oracle.

Pour connaitre les attributs de champ d'une table dans Oracle, on utilise la vue ALL_TAB_COLUMNS.
Ce script liste les champs ainsi que les attributs de la table.

 

 

SQL> REPHEADER PAGE CENTER 'SCRIPT LISTE ATTRIBUTS TABLE ORACLE'
SQL>   SET LINESIZE 100
SQL>   COL ID             FORMAT 999
SQL>   COL TYPE           FORMAT A12
SQL>   COL NAME           FORMAT A12
SQL>   COL comments       FORMAT A12
SQL>   SELECT   cols.column_id AS ID,
                cols.column_name AS NAME,
                cols.nullable,
                cols.data_type AS TYPE,
                DECODE (data_type,
                       'NUMBER', data_precision + data_scale,
                        data_length)
                   LENGTH,
                cols.data_precision PRECISION,
                cols.data_scale SCALE,
                cols.data_length dlength,
                coms.comments
         FROM   sys.all_col_comments coms,
                sys.all_tab_columns cols
        WHERE       coms.table_name = cols.Table_Name
                AND coms.column_name = cols.column_Name
                AND coms.owner = cols.owner
                AND cols.table_name = 'EMP'
                AND cols.owner = 'SCOTT'
     ORDER BY   column_id;


 

Attributs , Champs de la table Oracle.

 


                                 SCRIPT LISTE ATTRIBUTS TABLE ORACLE

  ID NAME         N TYPE             LENGTH  PRECISION      SCALE    DLENGTH COMMENTS
---- ------------ - ------------ ---------- ---------- ---------- ---------- --------
   1 EMPNO        N NUMBER                4          4          0         22
   2 ENAME        Y VARCHAR2             10                               10
   3 JOB          Y VARCHAR2             15                               15
   4 MGR          Y NUMBER                4          4          0         22
   5 HIREDATE     Y DATE                  7                                7
   6 SAL          Y NUMBER                9          7          2         22
   7 COMM         Y NUMBER                9          7          2         22
   8 DEPTNO       Y NUMBER                2          2          0         22

8 ligne(s) sélectionnée(s).

SQL>

Haut de Page www.dba-ora.fr

 

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
 
Par Oracle SQL - Publié dans : TABLES
Ecrire un commentaire - Voir les 0 commentaires
Mercredi 8 juin 2011 3 08 /06 /Juin /2011 10:22

 

CREATE TABLE - Création table Oracle avec l'ordre SQL CREATE TABLE.

Comment créer une table dans ma base de données Oracle.

Rappel :

• Pour créer une table dans votre schéma, il vous faut le privilège CREATE TABLE ou le privilège CREATE ANY TABLE.
• On crée une table avec la commande SQL CREATE TABLE.
• On modifie la structure d'une table avec la commande SQL ALTER TABLE.
• On supprime une table avec la commande SQL DROP TABLE.
• On vide totalement une table avec la commande SQL TRUNCATE TABLE.

 

Privilèges CREATE TABLE ou CREATE ANY TABLE.

 
SQL> GRANT CREATE TABLE TO SCOTT;

Grant succeeded.

SQL> GRANT CREATE ANY TABLE TO SCOTT;

Grant succeeded.

SQL>

CREATE ANY TABLE autorise la création de tables dans tout schéma.
CREATE TABLE autorise la création de tables uniquement dans son schéma.

 

Syntax commande SQL CREATE TABLE.

 
CREATE TABLE [ schema. ]table
   (
   [ column datatype [DEFAULT expr] [NOT NULL][(inline_constraint | inline_ref_constraint )],
     column datatype... ],
   [table_constraint [,…]]
   [table_ref_constraint [,…]]
   )
   [TABLESPACE nom_tablespace]
   [LOGGING | NOLOGGING]
   ... 
   ;

 

CREATE TABLE avec une PRIMARY KEY et CHECK.

 
CREATE TABLE scott.vehicule
    ( vehicule_id     NUMBER(6)
    , vehicule_marque VARCHAR2(30) CONSTRAINT ck_vehic_marq_nn NOT NULL
    , vehicule_modele VARCHAR2(30) CONSTRAINT ck_vehic_mod_nn NOT NULL
    , date_sortie     DATE         
    , vehicule_prix   NUMBER(10,2) 
    , CONSTRAINT pk_vehicule_id    PRIMARY KEY (vehicule_id)
    ) 
   TABLESPACE data; 
 
SQL> COLUMN CONSTRAINT_NAME FORMAT A20
SQL> COLUMN INDEX_NAME FORMAT A20
SQL> COLUMN COLUMN_NAME FORMAT A15
SQL> SET LINESIZE 150
SQL> SELECT   a.CONSTRAINT_NAME,
  2           a.CONSTRAINT_TYPE,
  3           a.INDEX_NAME,
  4           b.COLUMN_NAME,
  5           b.POSITION
  6    FROM   all_constraints a, all_cons_columns b
  7   WHERE       a.owner = 'SCOTT'
  8           AND a.TABLE_NAME = 'VEHICULE'
  9           AND a.CONSTRAINT_NAME = b.CONSTRAINT_NAME;

CONSTRAINT_NAME      C INDEX_NAME           COLUMN_NAME       POSITION
-------------------- - -------------------- --------------- ----------
PK_VEHICULE_ID       P PK_VEHICULE_ID       VEHICULE_ID              1
CK_VEHIC_MOD_NN      C                      VEHICULE_MODELE
CK_VEHIC_MARQ_NN     C                      VEHICULE_MARQUE

SQL>

 

 

CREATE TABLE avec une PRIMARY KEY (INDEX COMPOSITES sur 3 Colonnes).

 
CREATE TABLE scott.vehicule
    ( vehicule_id     NUMBER(6)
    , vehicule_marque VARCHAR2(30) DEFAULT 'RENAULT'
    , vehicule_modele VARCHAR2(30) 
    , date_sortie     DATE         
    , vehicule_prix   NUMBER(10,2) 
    , CONSTRAINT pk_vehicule_id PRIMARY KEY (vehicule_id,
                                             vehicule_marque,
                                             vehicule_modele)
    ) 
   TABLESPACE data;
 
SQL> COLUMN CONSTRAINT_NAME FORMAT A20
SQL> COLUMN INDEX_NAME FORMAT A20
SQL> COLUMN COLUMN_NAME FORMAT A15
SQL> SET LINESIZE 150
SQL> SELECT   a.CONSTRAINT_NAME,
  2           a.CONSTRAINT_TYPE,
  3           a.INDEX_NAME,
  4           b.COLUMN_NAME,
  5           b.POSITION
  6    FROM   all_constraints a, all_cons_columns b
  7   WHERE       a.owner = 'SCOTT'
  8           AND a.TABLE_NAME = 'VEHICULE'
  9           AND a.CONSTRAINT_NAME = b.CONSTRAINT_NAME;

CONSTRAINT_NAME      C INDEX_NAME           COLUMN_NAME       POSITION
-------------------- - -------------------- --------------- ----------
PK_VEHICULE_ID       P PK_VEHICULE_ID       VEHICULE_ID              1
PK_VEHICULE_ID       P PK_VEHICULE_ID       VEHICULE_MARQUE          2
PK_VEHICULE_ID       P PK_VEHICULE_ID       VEHICULE_MODELE          3

SQL>

 

CREATE TABLE avec un Index UNIQUE (unicité) et 3 CHECK.

 
CREATE TABLE scott.vehicule
    ( vehicule_id     NUMBER(6)
    , vehicule_marque VARCHAR2(30)
    , vehicule_modele VARCHAR2(30) 
    , date_sortie     DATE         CONSTRAINT ck_vehic_date_nn NOT NULL
    , vehicule_prix   NUMBER(10,2) CONSTRAINT ck_vehic_prix_nn NOT NULL
    , CONSTRAINT ck_vehic_prix_min CHECK (vehicule_prix > 0) 
    , CONSTRAINT un_vehicule_id    UNIQUE (vehicule_id)
    ) 
   TABLESPACE data; 
COMMENT ON COLUMN SCOTT.VEHICULE.VEHICULE_PRIX IS 'Prix neuf';
 
SQL> COLUMN CONSTRAINT_NAME FORMAT A20
SQL> COLUMN INDEX_NAME FORMAT A20
SQL> COLUMN COLUMN_NAME FORMAT A15
SQL> SET LINESIZE 150
SQL> SELECT   a.CONSTRAINT_NAME,
  2           a.CONSTRAINT_TYPE,
  3           a.INDEX_NAME,
  4           b.COLUMN_NAME,
  5           b.POSITION
  6    FROM   all_constraints a, all_cons_columns b
  7   WHERE       a.owner = 'SCOTT'
  8           AND a.TABLE_NAME = 'VEHICULE'
  9           AND a.CONSTRAINT_NAME = b.CONSTRAINT_NAME;

CONSTRAINT_NAME      C INDEX_NAME           COLUMN_NAME       POSITION
-------------------- - -------------------- --------------- ----------
UN_VEHICULE_ID       U UN_VEHICULE_ID       VEHICULE_ID              1
CK_VEHIC_PRIX_MIN    C                      VEHICULE_PRIX
CK_VEHIC_PRIX_NN     C                      VEHICULE_PRIX
CK_VEHIC_DATE_NN     C                      DATE_SORTIE

SQL>

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Ajouter un champ de table Oracle ALTER TABLE ADD
• Modifier un champ de table Oracle ALTER TABLE MODIFY
Par Oracle SQL - Publié dans : TABLES
Ecrire un commentaire - Voir les 0 commentaires

Oracle Sql et administration

Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés