È una domanda interessante, certo. La maggior parte delle persone che hanno familiarità con lo sviluppo di Oracle non ci pensano, ma quando ci si arriva, a volte è confuso definire la demarcazione tra SQL e PL / SQL.
Osservando la definizione degli acronimi, inizi a farti un'idea delle aree di funzionalità che ciascuna copre:
SQL: linguaggio di query strutturato
PL / SQL - Linguaggio procedurale / Linguaggio di query strutturato
Il lettore osservatore potrebbe notare come SQL viene visualizzato due volte 8) Questo perché SQL è spesso incorporato in PL / SQL - PL / SQL è un linguaggio creato per fornire un linguaggio proprietario di 4a generazione (4GL) che gioca molto bene con gli oggetti del database in Oracolo.
Wikipedia ha del materiale abbastanza buono su SQL e PL / SQL
La parte confusa è dove PL / SQL e SQL si sovrappongono un po '. Il campo di applicazione di SQL include l'inserimento di dati, la query, l'aggiornamento e l'eliminazione, il cosiddetto DML o le operazioni del linguaggio di manipolazione dei dati, ma include anche la creazione, l'alterazione, la ridenominazione, l'eliminazione di DDL o operazioni del linguaggio di definizione dei dati. È qui che alcuni potrebbero confondersi. L'operazione per creare una procedura memorizzata, scritta in PL / SQL, è in realtà SQL: si utilizza SQL per creare l'oggetto database che rappresenta un blocco di PL / SQL.
Allo stesso modo, puoi incorporare il codice SQL nel tuo PL / SQL. Un ciclo FOR in PL / SQL può essere basato, ad esempio, su una query SQL. Ti colpisce un po 'la testa, eh? Si crea una procedura utilizzando SQL che utilizza SQL internamente per eseguire alcune azioni sui record dal database.
Roba interessante se me lo chiedi.