Это интересный вопрос, чтобы быть уверенным. Большинство людей, знакомых с разработкой Oracle, не подумают об этом, но когда вы подойдете к этому, иногда сложно определить разграничение между SQL и PL / SQL.
Посмотрев на определение акронимов, вы начнете понимать, какие области функциональности охватывает каждая из них:
SQL - язык структурированных запросов
PL / SQL - процедурный язык / язык структурированных запросов
Внимательный читатель может заметить, как SQL отображается дважды. 8) Это потому, что SQL часто внедряется в PL / SQL - PL / SQL - это язык, созданный для обеспечения проприетарного языка 4-го поколения (4GL). который очень хорошо работает с объектами базы данных в Oracle.
В Википедии есть довольно хороший материал как по SQL, так и по PL / SQL.
Запутанная часть - это то, где PL / SQL и SQL немного перекрываются. Сфера действия SQL включает вставку данных, запрос, обновление и удаление, так называемые операции языка DML или языка манипулирования данными, но также включает операции создания, изменения, переименования, удаления, которые являются операциями языка DDL или языка определения данных. Здесь, где некоторые могут запутаться. Операция по созданию хранимой процедуры, написанной с использованием PL / SQL, на самом деле является SQL - вы используете SQL для создания объекта базы данных, представляющего блок PL / SQL.
Кроме того, вы можете встроить код SQL в ваш PL / SQL. Например, цикл FOR в PL / SQL может основываться на запросе SQL. Немного поражает, а? Вы создаете процедуру с использованием SQL, которая фактически использует SQL для выполнения некоторых действий с записями из базы данных.
Классные вещи, если вы спросите меня.