اجرای دو اسکرییت زیر نشان می دهد که (1,null) با (1,null) برابر نیست اما (1و0) با (1و0) برابر است.
select 1 from dual where (1,0) in ( select 1, 0 from dual)
select 1 from dual where (1,null) in ( select 1, null from dual)
دستورهای DML در Sql شامل دستورات insert، delete و update می باشد. این دستورها در بلاک های pl/sql نیز مستقیماً پشتیبانی می شوند.
یکی از block های pl/sql نامش cursor می باشد.
cursor مدل توسعه یافته ی دستور Select into می باشد که می تواند یک یا بیش از یک رکورد را به داخل block ما بفرستد.
همچنین کرسر از نظر ساختاری فضایی از حافظه بوده که همانند یک متغیر محلی در ناحیه Decleration تعریف می شود. کرسر مقادیرش را از دیتابیس fetch کرده و در اختیار بلاک pl/sql قرار می دهد.
در pl/sql دستوری به نام select into وجود دارد که به صورت زیر نوشته می شود:
select اسم ستون یا ستون ها into متغیر یا متغیرها from نام جدول
دستور select into در pl/sql به عنوان اشاره گری است که وظیقه دارد یک رکورد را از دیتابیس fetch کند و آن را به داخل package ما بفرستند در صورتیکه دستور Select در sql می توانست تعداد زیادی رکورد را برگرداند. همچنین اگر دستور select into رکوردی برای fetch کردن نیابد Exception می دهد در صورتی که دستور Select اگر رکوردی هم پیدا نمی کرد Exception نمی داد.
در pl/sql کلاً 5 نوع block وجود دارد که عبارتند از: