oracleskill

Home TUTORIAL หาตารางที่ไม่มี primary key

หาตารางที่ไม่มี primary key

บาง ตารางที่ไม่มี primary key จะทำให้เกิดปัญหาข้อมูลซ้ำซ้อนได้ และ ถ้าจะทำ materialize view แบบ fast refresh ได้นั้น จำเป็นที่ตารางนั้น ต้องมี primary key

เราจึงต้องเขียน SQL หาตาราง ที่ไม่มี primary key ภายใต้ schema ที่เราต้องการ ( ในตัวอย่างนี้ คือ ตาราง ของ SCOTT ) โดยใช้ประโยชน์จาก data dictionary และ การ MINUS

เรา run SQL statement นี้ ด้วย user SYS หรือ SYSTEM

 

select TABLE_NAME
from DBA_TABLES
WHERE OWNER='SCOTT'
MINUS
select TABLE_NAME
from DBA_CONSTRAINTS
where owner='SCOTT' and CONSTRAINT_TYPE='P' ;