PL/SQL: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1:
Il '''PL/SQL (Procedural <nowiki>Language/Structured</nowiki> Query Language)''' è un [[linguaggio di programmazione]] proprietario per database, [[Oracle Corporation]], procedurale, server-based ed estensione dell'[[SQL]].
Linguaggi simili al PL/SQL sono inclusi in altri [[database management system]]
Riga 7:
Il PL/SQL supporta le [[variabile|variabili]], [[condizioni]], e gestisce le [[eccezioni]]. Le implementazioni dalla versione 8 di [[Oracle]] [[RDBMS]] hanno messo enfasi su l'[[object orientation | object-orientation]].
Le funzioni
Il PL/SQL invece, com un linguaggio procedurale [[Turing-complete]], permette agli sviluppatori dei [[database]]
Dato che i programmatori possono incorporare statements [[SQL]] [[DML]] nel PL/SQL (una definizione di cursore, per esempio, o usare la sintassi SELECT .. INTO), statements [[DDL]] come CREATE TABLE-DROP INDEX etc.. è richiesto l'uso dell' "[[SQL]] Dinamico". Le prime versioni di Oracle richiedevano l'uso di un clomplesso package per l'[[SQL]] dinamico (<code>DBMS_SQL</code>) nel quale il sistema doveva parsare esplicitamente ed eseguire l'[[SQL]] statement. Le ultime versioni hanno incluso una sintassi <code>EXECUTE IMMEDIATE</code> chiamata "Native Dynamic [[SQL]]" che semplifica il problema. Qualsiasi uso di [[DDL]] in Oracle può risultare un esplicito commit. I programmatori possono usare anche l'[[SQL]] dinamico per eseguire [[DML]] quando non conoscono in anticipo l'esatto contenuto dello statement.▼
<!--
▲Dato che i programmatori possono incorporare statements
-->
<p><p> Il PL/SQL ha diversi packages predefiniti, i più importanti sono:
Riga 23 ⟶ 24:
<p> In ogni release
== Struttura base del codice ==
Riga 164 ⟶ 165:
==Linguaggi simili==
Anche altri DBMS hanno dei linguaggi associati. [[Sybase]] e il suo derivato [[Microsoft SQL Server]] hanno [[Transact-SQL]], [[PostgreSQL]] ha [[PL/pgSQL]] (che cerca di emulare PL/SQL), [[DB2]] include SQL Procedural Language ([http://publib.boulder.ibm.com/infocenter/db2help/index.jsp?topic=/com.ibm.db2.udb.doc/ad/c0011916.htm SQL PL]) e [[MySQL]] ha una versione di
PL/SQL assomiglia da vicino al [[Pascal (linguaggio)|Pascal]]. La struttura a packages alla struttura base del
Il PL/SQL permette anche di definire classi e instanziarle come oggetti, questo lo rende simile ai linguaggi di programmazione orientati agli oggetti. In PL/SQL una classe è chiamata Advance Data Type (ADT), è definita come un tipo
==Riferimenti==
|