پراسیژر ها بر خلاف Function ها خروجی ندارند. پارامتر ورودی، خروجی و ورودی خروجی می توانند داشته باشند که با out، in و in out مشخص می شوند. فرمت کلی pricedure در pl/sql به صورت زیر است. پراسیژر زیر با هر بار فراخوانی یک علامت * چاپ می کند. در این پراسیژر متغیر number از نوع varchar است و ورودی می باشد.
create or replace procedure myprocedure(number in varchar)
is
begin
dbms_output.put_line('*');
end;
در صورتی که در pl/sql لازم باشد که بخشی از دیتا را انتخاب کنیم و روی آنها عملیاتی را انجام بدهیم، Loop بزنیم و ... باید از Cursor استفاده کنیم. در ادامه کرسری نوشته شده است که به ازای رکوردهای موجود در جدول myTable علامت * چاپ می کند:
declare
cursor myCursor is
select * from mytable;
begin
for rec in myCursor
loop
dbms_output.put_line('*');
end loop;
end;
در pl/sql در منوی New منویی به نام Test Window وجود دارد. در این Window می توان Anonymous Block نوشت و با زدن کلید F8 آنها را اجرا کرد. در قسمت Declare متغیرها تعریف می شود و باید دقت کرد که در پایان هر دستور علامت «;» باید قرار داده شود.
declare
-- Local variables here
i integer;
begin
-- Test statements here
end;
روی کلاس های سرویس WCF یک Attribute به نام ServiceBehaviour قرار می گیرد که
InstanceContextMode را برای این کلاس سرویس مشخص می کند. InstanceContextMode یکی از مقادیر زیر را می تواند داشته باشد:
به عنوان مثال Attribute به صورت زیر قبل از کلاس سرویس WCF قرار می گیرد:
[
ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]به عنوان مثال در جدول mytable مشخصات کارمندان به همراه نوع شغل آنها ثبت شده است. فیلد jobid در این جدول نوع شغل کارمند را مشخص می کند. با اسکریپت زیر می توان شغلی که بیشترین تعداد کارمند را دارد را به دست آورد:
SELECT mytable.jobid, COUNT(*) FROM mytable
GROUP BY mytable.jobid
HAVING COUNT(*) =
(
SELECT max(count(*)) FROM mytable
GROUP BY mytable.jobid
)