Langage SQL

Langage SQL

SQL est un langage standard non procédural pour les systèmes de gestion de bases de données relationnelles (SGBDR)
Exemples de requêtes SQL
  • SELECT ename FROM emp;
  • SELECT last_name, department_id FROM employees;
  • DELETE FROM department WHERE department_id IN (10, 30, 70);
  • CREATE TABLE articles (article_id VARCHAR2 (15), designation VARCHAR2 (40));
  • INSERT INTO articles VALUES(‘imp1’, ‘imprimante laser’);
  • DROP TABLE articles ;
  • GRANT SELECT ON department TO scott;
  • REVOKE DELETE ON department FROM scott;
Les termes SELECT, FROM, DELETE, WHERE, IN, CREATE, TABLE, VARCHAR2, INSERT, INTO, VALUES, DROP, GRANT, TO, REVOKE, ON sont des mots réservés à SQL
Les instructions Oracle SQL sont classées en categories:
  • Commandes LMD (DML en anglais) pour Langage de Manipulation de Données (SELECT, INSERT, UPDATE, DELETE)
  • Commandes LDD (DDL en anglais) pour Langage de Définition de Données (CREATE, ALTER, DROP, RENAME, TRUNCATE, GRANT, REVOKE …).
    • Les commandes DDL sont automatiquement validées : elles génèrent un commit implicite.
  • Commandes de Contrôle de :
    • Transactions (COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION)
    • Sessions (ALTER SESSION)
    • et System (ALTER SYSTEM)

Commandes SQL Recursives

Lorsqu’une commande LDD est lancée, Oracle lance automatiquement une commande LMD pour modifier l’information correspondante dans le  dictionnaire de données. Cette dernière commande est dite commande SQL récursive.
Une commande LDD "CREATE TABLE", par exemple, lancée par un utilisateur pour créer une table dans son propre schéma, génère automatiquement une autre commande LMD récursive (INSERT) dans le schéma SYS : tables du dictionnaire de données. En effet, l’information sur la structure de la table nouvellement créée doit être insérée et disponible dans le dictionnaire de données.

Enregistrer un commentaire

0 Commentaires