Mémento des principaux ordres SQL Oracle

Select


SELECT [nom_table.]* | [nom_table].nom_col, [nom_table.]nom_col, ...
FROM [nom_user.]table ,...
[WHERE condition]
[CONNECT BY condition START WITH condition]
[GROUP BY expr, expr... HAVING condition]
[UNION | INTERSECT | MINUS ordre_select]
[ORDER BY expr [ASC | DESC]]
[FOR UPDATE OF nom_col [NOWAIT]]

ramène les valeurs des colonnes spécifiées de la (les) table(s) spécifiée(s), pour les lignes satisfaisant la condition de la clause WHERE

* : toutes les colonnes de la table
CONNECT BY : gère les liens hiérarchiques au sein de la table
START WITH : début d'un parcours hiérarchique
GROUP BY : regroupement suivant les différentes valeurs de la colonne ou de l'expression spécifiée
UNION : union ensembliste de deux SELECT
INTERSECT : intersection ensembliste de deux SELECT
MINUS : difference ensembliste entre deux SELECT
ORDER BY : tri suivant une colonne ou une expression ascendant (par défaut) ou descendant
FOR UPDATE OF : consultation en vue de mise à jour, éventuellement sans attente si la donnée est déjà verrouillée de manière incompatible
Exemple :
SELECT code, nom, ventes FROM clients
WHERE departement = 'ESSONNE'
ORDER BY nom

 
SELECT liste_colonnes INTO liste_variables
FROM nom_table [, nom_table,...]
[...]
charge des variables de réception (simples ou structurées) avec les valeurs ramenées par le SELECT
Exemple :
SELECT code, nom, ventes
INTO :v_code, :v_nom, :v_ventes FROM clients

Update

UPDATE nom_table SET nom_colonne = expression_SQL nom_colonne = (ordre_SELECT_mono_colonne) (nom_colonne, nom_colonne, ...) = ordre_SELECT
[WHERE condition]

met a jour les colonnes specifiées (pour des lignes déjà existantes de la table), ces valeurs sont des constantes, ou des expressions, ou le résultat d'un SELECT.
Les lignes concernées sont determinées par la clause WHERE.
Exemple :
UPDATE clients
SET ventes = ventes + 12500
WHERE code = 112

Insert


INSERT INTO nom_table [(liste_colonnes)]
VALUES (liste_valeurs)
insère des valeurs dans les colonnes specifiées de la table ou de la vue (par défaut toutes les colonnes). Ces valeurs sont des constantes
Exemple :
INSERT INTO clients (code, nom)
VALUES (115,'MATHON')
INSERT INTO nom_table [(liste_colonnes)] ordre_select
insère des valeurs dans les colonnes specifiées de latable ou de la vue (par défaut toutes les colonnes). Ces valeurs sont le résultat d'un sous-SELECT
Exemple :
INSERT INTO clients (code, nom)
SELECT * FROM nouveaux_clients

Delete

DELETE FROM nom_table [clause_where]
supprime une ou plusieurs lignes d'une table, la totalité si aucune clause where n'est spécifiée.
Exemple :
DELETE FROM clients where code < 0

Truncate


TRUNCATE TABLE nom_table [DROP STORAGE|REUSE STORAGE]
supprime toutes les lignes d'une table, en supprimant (ou gardant) les blocs physiques précédemment alloués
Exemple :
TRUNCATE nouveaux_clients DROP STORAGE

Create table

CREATE TABLE nom_table (nom_col1 type_col1 [contrainte], nom_col2 type_col2 [contrainte], ...)
[TABLESPACE nom_tbs]
[ STORAGE INITIAL taille K | M NEXT taille K | M
MINEXTENTS n MA
XEXTENTS n
PCTINCREASE pct
]

crée une table dans le tablespace spécifié ou dans le tablespace SYSTEM par défaut
avec les paramètres de stockage physique spécifiés par la clause STORAGE.
taille est un nombre qui précise la taille en KO ou MO du premier extent de la table et de l'extent suivant. n précise respectivement le nombre d'extents alloué à la création et le nombre maximum d'extents. pct précise la loi d'augmentation des extents futurs, en pourcentage
Exemple :

CREATE TABLE nouveaux_clients
(code NUMBER(4) PRIMARY KEY, nom VARCHAR(10))
TABLESPACE tbs_clients
STORAGE INITIAL 2MO NEXT 2MO PCTINCREASE 0

creation d'une table avec deux contraintes nommées explicitement (une clé primaire et une clé étrangère )

create table employe (
no_emp number,
no_service number,
constraint no_emp_pk primary key (no_emp),
constraint no_service_fk foreign key (no_service)
references service (no_service)
)

Create view

CREATE [OR REPLACE] VIEW [nom_proprietaire.]nom_vue [(syn_col1, syn_col2,...)]
AS SELECT ...
WITH CHECK OPTION [CONSTRAINT nom_contrainte]

Exemple :
CREATE VIEW martin.vue_annuaire
AS SELECT nom,no_tel FROM annuaire
WHERE departement = 91

create index

CREATE [UNIQUE | BITMAP] INDEX [nom_prpriétaire.]nom_index
ON [nom_propriétaire.]nom_table(nom_col1 [,nom_col2,...] [ASC | DESC] )
[TABLESPACE nom_tablespace]
[STORAGE ( parametres_de_stockage ) ]

CREATE UNIQUE INDEX idx_clients
ON clients(no_client)
TABLESPACE tbs_idx

Create synonym

CREATE [PUBLIC] SYNONYM [nom_proprietaire.]nom_synonyme
FOR [nom_proprietaire.]nom_objetcrée un synonyme public (visible par tous, créé par le DBA en général) ou privé (appartenant à un user particulier) sur un objet. Ceci permet d'éviter le préfixage par le nom du propriétaire ensuite. Le d'avoir accès à un synonyme ne dispense pas d'avoir des droits sur l'objet référencé.
Exemple :
CREATE PUBIC SYNONYM annuaire FOR devel1.annuaire

Create sequence

CREATE SEQUENCE [nom_propriétaire.]nom_compteur
[START WITH n]
[INCREMENT BY n]
[MAXVALUE n | NOMAXVALUE]
[MINVALUE n | NOMINVALUE]
[CYCLE | NOCYCLE]
[CACHE n | NOCACHE]
[ORDER | NOORDER ]

CREATE SEQUENCE seq_no_client
START WITH 10
INCREMENT BY 10
NOMAXVALUE

Create procedure

CREATE [OR REPLACE] PROCEDURE nom_procedure
( nom_arg1 type_arg1 IN|OUT|IN OUT, ... )
IS | AS bloc_PL/SQL

crée une procédure avec des paramètres éventuels d'entrée et/ou de sortie
Exemple :
CREATE PROCEDURE maj_ventes
(code_client IN NUMBER, montant_vente IN NUMBER)
AS BEGIN
UPDATE clients SET ventes = ventes + montant_vente
WHERE code = code_client;
END;

 

Create function

CREATE [OR REPLACE] FUNCTION nom_fonction
( nom_arg1 [IN] type_arg1 , ... )
RETURN type_val_retour AS|IS bloc_PL/SQL
crée une fonction, en fait, une procédure retournant une valeur
Exemple :

CREATE FUNCTION lit_ventes
(code_client NUMBER)
RETURN NUMBER
IS
montant NUMBER (10,2);
BEGIN
SELECT ventes INTO montant
FROM clients
WHERE code = code_client;
RETURN (montant);
END;

Create package

CREATE [OR REPLACE] PACKAGE nom_package
IS|AS specification_package
crée une spécification de package, les traitements à effectuer seront définis dans le PACKAGE BODY
Exemple :

CREATE PACKAGE va_et_vient AS
PROCEDURE ajoute_client (code NUMBER, nom VARCHAR);
PROCEDURE supprime_client (code NUMBER);
END va_et_vient;

Create trigger


CREATE [OR REPLACE] TRIGGER nom_trigger
BEFORE|AFTER DELETE|INSERT|UPDATE [OF nom_col]
ON nom_table
REFERENCING OLD variable|NEW variable
[FOR EACH ROW]
[WHEN (condition)] bloc_PL/SQL
crée un trigger au niveau de la base activable automatiquement lors d'une mise à jour
Exemple :
CREATE TRIGGER verif_code
BEFORE INSERT OF code ON appli.clients
FOR EACH ROW
DECLARE dernier_code NUMBER;
BEGIN
SELECT max(code) INTO dernier_code FROM clients;
IF (:new.code < dernier_code)
THEN raise_application_error
(-99999,'code client erronne')
END_IF;
END;

Drop


DROP TABLE nom_table [CASCADE CONSTRAINTS]
supprime une table et éventuellement les contraintes....
Exemple :
DROP TABLE archive_clients
DROP PROCEDURE | FUNCTION | PACKAGE | TRIGGER
nom_procedure|nom_fonction|nom_package|nom_trigger
supprime une procédure, une fonction, un package ou un trigger
Exemple :
DROP PROCEDURE test

DROP CLUSTER|VIEW | INDEX | SEQUENCE | [PUBLIC ] SYNONYM [nom_proprietaire.]nom_objet
Exemple

DROP INDEX martin.idx_client

Rename

RENAME nom_ancien_objet TO nom_nouveau_objet
renomme une table, une vue ou un synonyme
Exemple :
RENAME sauvegarde_clients TO clients

Lock

LOCK TABLE nom_table
IN SHARE|ROW SHARE|EXCLUSIVE|ROW EXCLUSIVE MODE [NOWAIT]

verrouille explicitement la table dans un mode particulier. Si NOWAIT est précisé le système rendra la main à l'utilisateur, dans le cas où la donnée est déjà verrouillée dans un mode incompatible
Exemple :
LOCK TABLE clients IN EXCLUSIVE MODE NOWAIT
 


(c) 2002- 2006 Didier Deléglise


modifié
le 20/11/2006

Ecrire a DD
ecris
moi


les forums techniques Oracle

mon BLOG Oracle,
en Francais
connaitre DD
l'autre vie
de DD

mon CV

trucs
et astuces

JOBs Oracle
du jour
Homepage "Tout sur Oracle"
Mon site :
Tout sur Oracle (et le web)
Copyright (C) 2002
Utilisation de ces documents