SQL*PLUS = Oracle SQL + PL/SQL
ENTRÉR ET SORTIR DE SQL*PLUS ENTRÉE: SQLPLUS SQLPLUS -s <nom-utilisateur>/<mot-passe> @<nomFichier> SORTIE: EXIT AFFICHER LA DERNIÈRE COMMANDE: L[IST] [<option>] <option> sans option : Affiche la comande en entier. n m : Affiche la ligne n à la ligne m de la commande n : Affiche la ligne n de la commande n LAST : Affiche à partir de la ligne n jusqu'à la fin de la commande n * : Affiche la ligne n à la ligne courante * : Affiche la ligne courante * n : Affiche la ligne courante jusqu'à la ligne n * LAST : Affiche la ligne courante jusqu'à la fin de la commande LAST : Affiche la dernière ligne de la commande. AJOUTER DES INSTRUCTIONS IMMÉDIATEMENT APRÈS LA FIN DU LIGNE A[PPEND] <instruction> AJOUTER DES INSTRUCTIONS APRÈS LA LIGNE COURANTE I[NPUT] <instruction> CHANGER LA LIGNE COURANTE: C[HANGE] <sep><texte erroné><sep>nouveau texte<sep> <sep> : Séparteur tel / ou ! CHARGER UN FICHIER DANS LA MISE EN TAMPON GET <nomFichier> DEMANDER UNE VARIABLE ACCEPT <nomVariable>, <type> [PROMPT <indice>] DEMANDER À L'UTILISATEUR DE PRESSEZ SUR UNE TOUCHE PAUSE DESCRIPTION D'UNE TABLE: DESCRIBE <nomTable> | DESC <nomTable> EFFACER CL[EAR] <option> <option> BREAKS // ENLEVE TOUS LES BREAKS DÉFINIS BUFF[ER] // LE CONTENU DE LA ZONE TAMPON COLUMNS // EFFACE LES ATTRIBUTS DE TOUTES LES COLONNES COMPUTES // EFFACE LES ATTRIBUTS DE TOUS LES COMPUTE SCREEN // L'ÉCRAN EFFACER UN TEXTE DANS LA LIGNE COURANTE CHANGE /<texte> EXÉCUTION D'UNE COMMANDE EN MÉMOIRE RUN | / N.B. : RUN Affiche la commande et l'exécute @<nomFichier> // EXÉCUTION D'UN FICHIER .SQL DEL [<instruction>] // SUPPRIMER DES INSTRUCTION À LA LIGNE COURANTE EDIT <nomFichier.sql> HOST EDIT <nomFichier.sql> VI <nomFichier.sql> INSERT INTO <nomTable> // INSERTION (demande des valeurs à l'invite): [ ( <nomChamp1> [, <nomChamp2> ...] ) ] VALUES ( &<valeur1> [, &'<valeurchar>' ...] ); PROMPT <message> // INSERTION D'UN TEXTE D'INVITE À L'ÉCRAN REM[ARK] <commentaire> // INSÉRTION D'UN COMMENTAIRE SAVE <nomFichier> // SAUVEGARDER UNE COMMANDE: SHOW <attribut_set>; START <nomFichier>; // EXÉCUTION D'UN FICHIER .SQL SPOOL [<nomFichier>|OFF] // RAPPORT: BREAK // les attributs des break définis BREAK ON {[<nom_colonne>]|ROW} [SKIP {<n_ligne_blanche>|PAGE}] [ON ...] [ON REPORT] COLUMN <ancien_nom_colonne> HEADING <nouveau_nom> COLUMN <nom_colonne> FORMAT <format> COLUMN <nom_colonne> LIKE <autre_colonne> HEADING <nouveau_nom> COLUMN <nom_colonne> // affiche les attributs d'une colonne COLUMN <nom_colonne> OFF COMPUTE // affiche les compute définies COMPUTE <fontion>[ <fontion2> ...] OF <col1>[ <col2> ...] ON [ <col_break_on> | REPORT ] SET -ECHO OFF -FEEDBACK OFF -HEADING OFF -LINESIZE <n> -NEWPAGE <n> -PAGESIZE <n> -PAUSE ON -SPACE <n> -UNDERLINE '<caractère>' {T|B}TITLE <position> <titre> // {Top | Bottom} [<position> <titre> ...] [COL <n>, SKIP <n>, LEFT | CENTER | RIGHT, BOLD, FORMAT <format>] {T|B}TITLE {ON|OFF} <format> 9 les zéros ne sont pas affiché 0 affiche un zéro $ précède le nombre avec le signe$ B N'affiche pas les zéros MI Affiche le signe moins après une valeur négative PR Affiche une valeur négative entre crochets , virgule . point V multiplie un nombe par 10n ou n est le nombre de 9 après V EEEE Affiche le nombre en notation scientifique DATE Affiche le nombre en format DATE (MM/DD/YY) A<n> : CHAR, DATE, LONG, VARCHAR sur n caractères Variables système SQL.LNO : Numéro de ligne SQL.PNO : Numéro de page SQL.RELEASE : Numéro de version d'ORACLE SQL.USER : Nom de l'utilisateur SYS.USER_IND_COLUMNS SYS.USER_INDEXES : Index des tables SYS.USER_TAB_PRIVS : Privilège d'accès SYS.USER_VIEWS : liste des vues TABS : listes des objets (tables, vues, index, grappes, séquences, ...)
PL/SQL
BEGIN open <nomProcédure> LOOP <instruction> IF <condition> ELSE EXIT END IF close <nomProcédure> END;
Commande Oracle SQL
ALTER TABLE <nomTable> [ADD ( <nomChamp1> <type> [<contrainte_atomique>] [, <nomChamp2> <type> [<contrainte_atomique>] ... ] ) ] | [MODIFY ( <nomChamp1> { <nouveau_type> | <type> <nouvelle_contrainte> } ) ]; ALTER SESSION SET NLS_DATE_LANGUAGE = FRENCH; SET NLS_LANGUAGE = FRENCH; ALTER USER <utilisateur> IDENTIFIED BY <nouveau mot_passe> ; COMMIT; CREATE INDEX <nomIndex> ON <nomTable> (<col [ordre] [, ...]); CREATE SYNONYM <nom_synonyme> FOR <objet> CREATE TABLE <nomTable> ( <nomChamp1> <type> [<contrainte_atomique>] [, <nomChamp2> <type> [<contrainte_atomique>] ... ] ); // insere une colonne avec un numéro unique // qui s'appelle ROWID (<blocfichierBD>.<ligne (0,N)>.<numeroFichier (1,n)>) CREATE VIEW <nomVue> [<nomChamp1> [,...]) AS <interrogation> [WITH CHECK OPTION]; // aucune mise à jour, insertion, suppresion si <interrogation> // contient // - opérateur de jointure, - SET, -groupe, // - GROUP BY, CONNECT BY, START WITH // - DISTINCT // WITH CHECK OPTION : intégrité DELETE FROM <nomTable> [ WHERE <condition> ]; // maximum 65,535 tables DROP INDEX <nomIndex>; DROP TABLE <nomTable>; DROP VIEW <nomVue>; GRANT <privilège> [...] ON <objet> TO <utilisateur> [ WITH GRANT OPTION]; <privilège> : ALL, ALTER, DELETE, INDEX, INSERT, REFERENCES, SELECT, UPDATE (col[, ...]) INSERT INTO <nomTable> [ ( <nomChamp1> [, <nomChamp2> ...] ) ] VALUES ( <valeur1> [, <valeur2> ...] ); RENAME {<nomTable>|<nomVue>} TO {<nouveau_nomTable>|<nouveau_nomVue>}; REVOKE <privilège> [...] ON <objet> FROM <utilisateur>; ROLLBACK { [WORK] | TO SAVEPOINT <nomSavePoint> }; SAVEPOINT <nomSavePoint>; SELECT [DISTINCT] <données> FROM <tables> [WHERE <condition>] [ORDER BY <col>[, <col2>...]]; <données> {*, | {[<colonne> | <constante> [,...]] [[AS] alias] } } <tables> { <nomTable> | SELECT } [, ...] [[AS] alias] } UPDATE {<nomTable>|<nomVue>} SET <nomChamp1> = <expression> [, <nomChamp2> = <expression> ...] [ WHERE <condition> ]
Type Oracle SQL
CHAR() | CHARACTER() : Chaîne de caractères de longueur de 1 à 255. DATE : Format fixe défini par votre système. LONG : Longue chaîne de de caractère de longueur maximale de 65,535 caractères. NUMBER(x[,y]) : Numérique, x<=38, x: longueur maximale, y: précision RAW : Donnée binaire pouvant contenir jusqu'à 255 octets, (language de contrôle) VARCHAR() | VARCHAR2(): Une chaîne de caractères d'une longueur de 2000 caractères // 254 ( dont 1 de type long) // on peut changer le type seulement si la colonne est vide
Contraintes Oracle SQL
NOT NULL PRIMARY KEY UNIQUE REFERENCES <nomTable> (nomChampClePrimaire) // s'applique lorsque la contrainte s'applique immédiatement // aucun tuple signifie aucune valeur null
Opérateurs Oracle SQL
= != | <> | ^= < > <= >= IN | =ANY | =SOME NOT IN ANY ALL [NOT] BETWEEN x AND y [NOT] EXISTS [NOT] LIKE '{ * | _ }' IS [NOT] NULL <operateur_arithmetique> + * / - <operateur_logique> NOT AND OR AND true false null true true false null false false false false null null false null OR true false null true true true true false true false null null true null null <operateur_ensembliste> UNION UNION ALL INTERSECT MINUS <priorite_operateur> +n -n * / + - <operateur_comparaison> NOT AND OR
Fonctions Oracle SQL
<numerique> ABS(n) : Valeur absolue de n CEIL(n) : L'entier immédiatement supérieur ou égal à n FLOOR(n) : L'entier immédiatement inférieur ou égal à n MOD(m,n) : Modulo, ou le reste de la division de m/n; POWER(m,n) : m à la puissance n. ROUND(n[,x]) : n arrondi au 10x -ième. SIGN(n) : donne le signe de n (-1, 1, 0=NULL) SQRT(n) : racine carré de n, null = si (n<0) TRUNC(n[,x]) : n tronquée de x places après le séparateur décimal <caractères> CHR(n) : Caractère équivalent à la valeur ASCII n. CONCAT(ch1,ch2) : Concaténation de ch1 avec ch2. INITCAP(ch) : La première lettre de ch est capitalisée. LOWER(ch) : Tous les caractères de ch sont en minuscule. LPAD(ch1,n[,ch2]) : ch1 est précédé de ch2 sur une longueur totale de n positions. LTRIM(ch,[liste]) : La premier caractère de ch sera enlevé s'il existe dans la liste. Le procédé continue jusqu'à ce qu'on rencontre un caractère n'existant pas dans la liste. REPLACE (ch,l1,l2): Remplace toute occurence l1 dans ch par l2. SOUNDEX (ch) : Le mot dont l'intonation ressemble à celle spécifiée. SUBSTR(ch,m[,n]) : Affiche n caractères de ch, commencant par le m^e caractère. SUBSTRB(ch,m[,n]) : Affiche les caractère de m à n. TRANSLATE (ch, : Remplace toute occurence ancienne de ch ancienne, par nouvelle (sert à encoder les données) nouvellle) UPPER(ch) : Tous les caractères de ch sont en majuscule. <Caractère => Nombre) ASCII(ch) INSTR(ch1, ch2 [,n[,m]]) LENGTH(ch) LENGTHB(ch) <Groupe ([DISTINCT|ALL])> AVG(n) COUNT(expr) MAX(expr) MIN(expr) STDDEV(n) SUM(n) VARIANCE(n) <date> ADD_MONTHS(date, n_mois) LAST_DAY(date) MONTHS_BETWEEN(date2, date1) NEW_TIME(d,z2,z1) NEXT_DAY(date,ch) SYSDATE ROUND(date[,précision]) TRUNC(date[,format]) <conversion> TO_CHAR(date[,fmt[,'nls_lang']]) TO_CHAR(number[,fmt[,'nls_lang']]) TO_DATE(char[,fmt[,'nls_lang']]) TO_NUMBER(char[,fmt[,'nls_lang']]) DECODE ( <colonne>, <val1>, <code1> [, <val1>, <code1>, ...] [, <val_defaut>] )
Dernière modification: 2016-05-04 09:25:11 par Yan Morin
Hébergé par ProgYSM