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>
|
|
Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
|
|
|
Par Oracle SQL
-
Publié dans : TABLES
0
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>
|
Par Oracle SQL
-
Publié dans : TABLES
0