SQL vs PL SQL
SQL (Structured Query Language) è il linguaggio standard per scrivere database relazionali di ingresso. SQL è una semplice istruzione, che consente di recuperare, inserire, eliminare, aggiornare i record in base alle esigenze dell'utente. Semplicemente è un linguaggio orientato ai dati per la selezione e la manipolazione di set di dati. PL SQL (Procedurale Language/Structured Query Language) è un linguaggio di estensione procedurale per l'immissione e la manipolazione dei dati da parte di Oracle.
PL/SQL, l'estensione procedurale di SQL di Oracle, è un linguaggio di programmazione avanzato di quarta generazione (4GL). Offre funzionalità moderne come l'incapsulamento dei dati, il sovraccarico, i tipi di raccolta, la gestione delle eccezioni e l'occultamento delle informazioni. PL/SQL offre anche un accesso SQL senza interruzioni, una stretta integrazione con il server e gli strumenti Oracle, portabilità e sicurezza.”
SQL
Il linguaggio di query strutturato (SQL) pronunciato come "sequel" è un linguaggio informatico per database progettato per la gestione dei dati nei sistemi di gestione di database relazionali (RDBMS) e originariamente basato sull'algebra relazionale.
L'obiettivo di base di SQL è inserire dati ed eseguire l'aggiornamento, l'eliminazione, la creazione dello schema, la modifica dello schema e il controllo dell'accesso ai dati rispetto ai database.
SQL ha elementi, suddivisi nei seguenti:
Query: recupera i dati in base a criteri specifici. Ci sono poche parole chiave che possono essere utilizzate nelle query. (Seleziona, Da, Dove, Avere, Raggruppa per e ordina per)
es: SELECTFROM table1 WHERE colonna1 > condizione ORDINA PER colonna2;
Dichiarazioni: possono controllare transazioni, flusso del programma, connessioni, sessioni o diagnostica
Espressioni – Che possono produrre sia;
Valori scalari
Tabelle composte da colonne e righe di dati
Predicati -Specifica le condizioni che possono essere valutate in SQL booleano (vero/falso/sconosciuto)
Clausole – Componenti costitutivi di affermazioni e query
PL/SQL
PL/SQL (Proceural Language/Structured Query Language) è il linguaggio di estensione procedurale di Oracle Corporation per SQL e il database relazionale Oracle. PL/SQL supporta variabili, condizioni, loop, array, eccezioni. PL/SQL essenzialmente i contenitori di codice possono essere conformi ai database Oracle. Gli sviluppatori di software possono quindi impiantare unità di funzionalità PL/SQL direttamente nel database.
Le unità di programma PL/SQL possono essere definite come segue:
Blocchi anonimi
Forma la base del codice PL/SQL più semplice
Funzioni
Le funzioni sono una raccolta di istruzioni SQL e PL/SQL. Le funzioni eseguono un'attività e devono restituire un valore all'ambiente chiamante.
Procedure
Le procedure sono simili alle funzioni. Le procedure possono anche essere eseguite per eseguire il lavoro. Le procedure non possono essere utilizzate in un'istruzione SQL, possono restituire più valori. Inoltre, le funzioni possono essere chiamate da SQL, mentre le procedure no.
Pacchetti
L'uso dei pacchetti è il riutilizzo del codice. I pacchetti sono gruppi di funzioni, procedure, variabili, tabelle PL/SQL collegate in teoria e istruzioni TYPE record, costanti e cursori ecc… I pacchetti di solito hanno due parti, una specifica e un corpo
Due vantaggi dei pacchetti includono:
Approccio modulare, incapsulamento della logica aziendale
Utilizzando le variabili dei pacchetti puoi dichiarare nei livelli di sessione
Tipi di variabili in PL/SQL
Variabili
Variabili numeriche
Variabili di carattere
Variabili di data
Tipi di dati per colonne specifiche
Differenza tra SQL e PL/SQL
SQL è un linguaggio orientato ai dati per la selezione e la manipolazione dei dati, ma PL SQL è un linguaggio procedurale per creare applicazioni.
SQL esegue un'istruzione alla volta mentre in PL SQL è possibile eseguire blocchi di codice.
SQL è dichiarativo mentre PL SQL è procedurale.
SQL viene utilizzato per scrivere query, Data Manipulation Language (DML) e Data Definition Language (DDL), mentre PL SQL viene utilizzato per scrivere blocchi di programma, trigger, funzioni, procedure e pacchetti.
Riepilogo:
SQL è un linguaggio di query strutturato. In SQL vengono utilizzate varie query per gestire il database in modo semplificato. PL/SQL è un linguaggio procedurale che contiene vari tipi di variabili, funzioni e procedure. SQL consente allo sviluppatore di eseguire una singola query o eseguire un singolo inserimento/aggiornamento/eliminazione alla volta, mentre PL/SQL consente di scrivere un programma completo per eseguire più selezioni/inserimenti/aggiornamenti/eliminazioni alla volta. SQL è un semplice linguaggio orientato ai dati mentre il linguaggio di programmazione PL/SQL.