วิธีการ Grant Permission ให้กับ Synonym

เมื่อมีการสร้าง Synonym ของแต่ละ Table แล้ว Table ที่ถูกสร้างเป็น Synonym ขึ้นมาจะไม่สามารถถูกเรียกใช้งานได้ เช่น Select, Insert, Update, Delete จึงจำเป็นต้องมีการ Grant Permission ให้กับ Table ดังกล่าว

เนื่องจาก การที่ต้อง Grant Permission ให้กับ Synonym นั้น เป็นเพราะว่า ถ้าไม่มีการ Grant Permission แล้ว เราทำการเรียกใช้ Table ที่เป็น Synonym ระบบจะแจ้ง "table or view does not exist"


คำอธิบายเบื้องต้น
OWNER  : คือ ผู้ที่เป็นเจ้าของ Table นั้นจริงๆ
TARGET : คือ ผู้ที่ต้องการใด้ Permission

***ก่อนอื่นต้อง connect by SYSTEM ก่อน 
เพื่อให้มี Permission ถึงที่จะสามารถ Grant Permission ได้***


Permission ที่ต้องการ Grant หลักๆ มีดังนี้

1. SELECT
2. INSERT
3. UPDATE
4. DELETE


วิธีการ Grant Permission มี Statement ดังนี้

แบบที่ 1 Grant Permission ทั้งหมด ใน Statement เดียว
    GRANT INSERT,UPDATE,DELETE,SELECT ON SCHEMA_OWNER.TABLE_NAME TO USER_NAME_TARGET;

Ex. 
     GRANT INSERT,UPDATE,DELETE,SELECT ON SCHEMA_1.EMPLOYEES TO ADMIN;

แบบที่ 2  Grant Permission ทีละ Statement
    GRANT SELECT  ON SCHEMA_1.TABLE_NAME TO USER_NAME_TARGET;
    GRANT INSERT   ON SCHEMA_1.TABLE_NAME TO USER_NAME_TARGET;
    GRANT UPDATE ON SCHEMA_1.TABLE_NAME TO USER_NAME_TARGET;
    GRANT DELETE  ON SCHEMA_1.TABLE_NAME TO USER_NAME_TARGET;

Ex.
    GRANT SELECT  ON SCHEMA_1.EMPLOYEES TO ADMIN;
    GRANT INSERT   ON SCHEMA_1.EMPLOYEES TO ADMIN;
    GRANT UPDATE ON SCHEMA_1.EMPLOYEES TO ADMIN;
    GRANT DELETE  ON SCHEMA_1.EMPLOYEES TO ADMIN;

 เมื่อ Grant Permission สำเร็จแล้ว ระบบจะแสดง message  "GRANT succeeded."
 ***ถ้าไม่ได้ connect by System ระบบ จะแจ้ง SQL Error: ORA-01031: insufficient privileges***


ไม่มีความคิดเห็น:

แสดงความคิดเห็น