برای کاربر 'alice' مجوزهای SELECT و INSERT را روی جدول HR.employees بدهید، مجوز DELETE را از او بردارید و مجوز EXECUTE روی رویه ذخیره‌شده HR.calculate_bonus به او اختصاص دهید و دستورات لازم برای بررسی مجوزهای فعلی او بنویسید.

5.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:24

0.0

از دستورات پایه SQL یعنی GRANT و REVOKE برای اختصاص و حذف مجوزها استفاده کنید (مثلاً GRANT SELECT, INSERT ON HR.employees TO alice; REVOKE DELETE ON HR.employees FROM alice; GRANT EXECUTE ON PROCEDURE HR.calculate_bonus TO alice;). توجه داشته باشید سینتکس ممکن است در پایگاه‌داده‌های مختلف کمی متفاوت باشد (مثلاً MySQL از PROCEDURE/FUNCTION و SHOW GRANTS استفاده می‌کند و PostgreSQL/SQL Server روش‌های مربوطه را دارند). برای بررسی مجوزها می‌توانید از نماهای سیستمی مانند information_schema.table_privileges یا دستورات مخصوص مثل SHOW GRANTS/pg_catalog/INFORMATION_SCHEMA بهره ببرید؛ همچنین در برخی سیستم‌ها نیاز به COMMIT بعد از تغییرات یا داشتن مجوز کافی برای صدور GRANT دارید.

توسط پژوهشگر در 201 روز قبل ساعت 03:24
دسته بندی ها: SQL SQL for beginner
reyhaneh در 201 روز قبل ساعت 06:32

نکته مهم اینکه GRANT/REVOKE بسته به DBMS، ممکن است نحوه ارجاع به شیء یا مجوز‌ها کمی تفاوت کند. برای بررسی مجوزهای جاری alice می‌توانید از SHOW GRANTS در MySQL یا querying information_schema.table_privileges و pg_catalog استفاده کنید. پس از اعمال تغییرات، به‌ویژه مجوز EXECUTE روی رویه HR.calculate_bonus را بدهید و مجوز DELETE را از alice برداشتید، با یک تست عملی اعتبارسنجی کنید و در صورت نیاز COMMIT انجام دهید. همچنین مطمئن شوید alice وجود دارد و به منابع موردنیاز دسترسی دارد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری