
تفاوت SQL و PL/SQL به زبان ساده در اوراکل
در خصوص SQL
به معنای زبان پرس و جوی ساخت یافته (SQL(Structured Query Language یک زبان برنامه نویسی غیر رویه ای یا non procedural است، یعنی بر خلاف زبان C یا COBOL که باید چگونگی دستیابی و کنترل داده ها را دقیقاً تشریح نمود، SQL چگونگی انجام کار را خود مشخص می کند.
توسط زبان پرس و جوی ساختیافته (SQL) تنها درخواست انجام عمل مطرح می گردد و چگونگی انجام عمل توسط رویه های از قبل تعریف شده صورت می پذیرد.
مثال:
select * from emp
در خصوص PL/SQL
دیتابیس اوراکل به شما این توانایی را میدهد که بتوانید پروسیجرها و API های موجود در دیتابیس را استفاده کنید که به آن (PL/SQL (Procedural language/SQL می گویند. همانند دیگر زبانهای برنامه نویسی که با کد خاصی نوشته می شود. در اینجا برنامه ها در PL/SQL نوشته و از طریق SQL با دیتابیس محاوره میکند.
create procedure test
is
begin
...
end;
create function test() return number
is
begin
...
return ...;
end;
is
begin
...
end;
create function test() return number
is
begin
...
return ...;
end;
در PL/SQL در اوراکل ما میتوانیم همانند دیگر زبان های برنامه نویسی دستوراتی مانند: if,for,while,case,type,… داشته باشیم
به طور کلی PL/SQL Oracle دارای سه مکانیزم اولیه می باشد:
Sequence-Selection-Iteration
begin
if user = ADMIN then
...
else
...
end if;
end;
if user = ADMIN then
...
else
...
end if;
end;
اولی Sequence به این معنی که بصورت مرحله مرحله کدهای شما اجرا می شود
دومی به معنی بر اساس یکسری از شرط ها به کدام مرحله می رود را تعیین می کند
سومی به معنی تکرار یعنی اینکه به علت یکسری از شرایط دوباره به همان مرحله که خواستید بازگشت می کند
