IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Différence entre SQL et PL/SQL


Sujet :

PL/SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 18
    Points
    18
    Par défaut Différence entre SQL et PL/SQL
    que est la difference entre le sql et le pl/sql

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Le sql c'est le langage pour la base de donnée.
    Ce ne sont que des instructions.

    le pl/sql c'est le langage de programmation, avec des variables, des boucles, des tests, etc.. et du sql.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Le SQL est le langage standard quelque soit la base de donnée utilisée (mysql, oracle, ...)
    Le PL/SQL est un langage procédural propre à Oracle
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Citation Envoyé par scheu Voir le message
    Le SQL est le langage standard quelque soit la base de donnée utilisée (mysql, oracle, ...)
    A ceci prêt que les éditeurs de SGBD ne respectent pas la norme et ajoutent des fonctionnalités spécifiques

    SQL = récupération des données de la base
    PL/SQL = traitement des données de la base

  5. #5
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Citation Envoyé par wellknown Voir le message
    que est la difference entre le sql et le pl/sql
    c'est un peu comme si tu demandes la différence entre java et javascript

    non, c'est vraiment deux choses très différentes.

    SELECT * FROM EMP c'est du sql
    BEGIN NULL; END; c'est du plsql
    BEGIN INSERT INTO T VALUES (1); END; c'est du plsql qui appelle du sql
    SELECT F(1) FROM T; c'est du sql qui appelle une fonction F que tua as écrit en plsql

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur BI
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur BI

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    c'est vrai PL/SQL c'est langage de programmation propre à oracle?
    On n'a pas de PL/SQL pour MySQL et les autres SGBD?????????

  7. #7
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Les bases de données ont souvent un langage de programmation propre. Il ne s'appelle pas PL/SQL mais par exemple pour PostGreSQL il s'appelle PL/pgSQL.

    MySQL (à partir de la version 5) et DB2 utilisent la norme SQL:2003 (me semble-il) pour leurs procédures stockées.

    Concernant Oracle il est aussi possible de stocker des procédures en Java.

  8. #8
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    PL/SQL (sigle de Procedural Language / Structured Query Language) est un langage, conçu aux paradigmes procédural et structuré. Il est propriétaire, créé par Oracle et utilisé dans le cadre de bases de données relationnelles. Il a été influencé par le langage Ada.

    PL/SQL est disponible dans Oracle Database (depuis la version 7), TimesTen In-Memory Database (depuis la version 11.2.1) et IBM DB2 (depuis la version 9.7).

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    C'est un peu plus complexe que cela....

    SQL est un langage normalisé ISO 9075/13249 définissant le "cœur" du langage (Part 1 - framework/ Part 2 : foundation) et les extensions.
    Le coeur est constitué par des ordres SQL divisés en 4 familles :
    1) le LDD : Langage de Définition des Données (CREATE, ALTER, DROP...)
    2) le LMD : Langage de Manipulation des Données (SELECT, INSERT, UPDATE, DELETE, MERGE...)
    3) le LCD : Langage de Contrôle des Données (GRANT, REVOKE...)
    4) le LCT : Langage de Contrôle des Transactions (BEGIN WORK, COMMIT, ROLLBACK...)

    A ce cœur est ajouté différentes extensions elles aussi normalisées :
    1) CLI : Call Level Interface (Ensemble de routine de base niveau - ISO 9075 - Part 3)
    2) PSM : Persistent Stored Module (Procédures cataloguées - ISO 9075 - Part 4)
    Et bien d'autres modules :
    - XML (Part 14)
    - Full Text (ISO 13249 - Part 2)
    - Spatial (ISO 13249 - Part 3)
    ...

    Pour ce qui est de PL/SQL, cela correspond à PSM. On y trouve des commandes telles que BEGIN / END, DECLARE, IF..., WHILE..., OPEN (cursor)..., CLOSE (cursor)..., EXIT...
    Bien que cette partie soit fortement normalisées, les éditeurs de SGBDR ont souvent fait des langages assez spécifiques en respectant l'essentiel de la norme SQL.
    • PL/SQL d'Oracle
    • PG/PL SQL de PostGreSQL
    • Transact SQL de Sybase ASE/SQL Server
    ...

    Pour certains modules comme Full text et Spatial, Oracle ne respecte aucunement la norme SQL...

    la suite sur mon bouquin !
    http://www.amazon.fr/SQL-%C3%A9ditio...tt_at_ep_dpi_1

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. différence entre data merge et sql where
    Par L0007 dans le forum SAS Base
    Réponses: 6
    Dernier message: 14/10/2010, 15h58
  2. différence entre SQl server Express 2005 et SQL 2005
    Par nutix2003 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/05/2007, 15h56
  3. Quelle Différence entre MyQql et sql serveur
    Par nina_2006 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/10/2006, 21h57
  4. Ma chaîne SQL ne fait pas la différence entre un H et un h
    Par beegees dans le forum Requêtes et SQL.
    Réponses: 19
    Dernier message: 22/03/2006, 15h23
  5. [Type Sql] Quelles différences entre ces bases ?
    Par wonderboy dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 16/03/2006, 09h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo