que est la difference entre le sql et le pl/sql
que est la difference entre le sql et le pl/sql
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.
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/
c'est un peu comme si tu demandes la différence entre java et javascript
Code : Sélectionner tout - Visualiser dans une fenêtre à part PL/
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
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?????????
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.
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).
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/ * * * * *
Partager