کنترل دسترسی به شکل کد-مبنا (CBAC):
اختصاصدادن نقش به واحدهای برنامهنویسی PL/SQL در پایگاه داده اوراکل 12.1
به طور پیشفرض: واحدهای برنامهنویسی PL/SQL با استفاده از اختیارات تعریفکنندهها ساخته میشوند و به همین خاطر هم با تمام اجازهای که دارند، مستقیما به کاربری که آنها را بهوجود آورده، داده میشوند. چنین چیزی در زمانی که میخواهید کاری با اجازه بالا را به کاربری با اجازه پایین واگذار کنید، بسیار مفید خواهد بود. در این مواقع میتوان کارها را در لفاف یه واحد برنامهای PL/SQL پوشاند، و همراه با آن، اجازه اجراکردن آن را به کاربری با اجازه پایین اختصاصداد. مشکل تعریفکنندههای اختیارات این است که خیلی ساده میتوان اجازهی بیش از حد به یک کاربر اختصاصداد.