ฉันจะค้นหาวัตถุที่ไม่มีอยู่ในตารางวัตถุได้อย่างไร


11

cot_ntn_pi_vฉันมีวัตถุที่เรียกว่า ฉันบอกว่านี่เป็นคำพ้อง จะไม่ปรากฏในตาราง all_synonyms ดูเหมือนว่าจะเป็นมุมมองหรือตาราง แต่ฉันไม่พบมันในตารางวัตถุทั้งหมด ฉันสามารถเลือกจากมันได้ แต่ฉันไม่สามารถวางได้เพราะมัน 'ไม่มีอยู่' และฉันไม่สามารถสร้างตารางใหม่ที่มีชื่อเดียวกันกับชื่อ 'วัตถุอื่นใช้แล้ว'

ฉันจะโมโหหรือทำอะไรโง่ ๆ จริง ๆ ?


1
หากคุณไม่มีสิทธิ์ในรายการอาจไม่แสดงในตาราง ALL_ * คุณอาจต้องเข้าสู่ระบบการบริหารและดูในตารางพจนานุกรมข้อมูล DBA_ *
ConcfedOfTunbridgeWells

คำตอบ:


11

ชนิดของวัตถุในเนมสเปซเดียวกันกับตารางคือ:

  • ขั้นตอนแบบสแตนด์อะโลน
  • ฟังก์ชั่นที่เก็บไว้แบบสแตนด์อโลน
  • แพคเกจ
  • ประเภทที่ผู้ใช้กำหนด
  • ลำดับ
  • เข้าชม
  • คำพ้องส่วนตัว
  • มุมมองที่ปรากฏ

ดังนั้นอาจเป็นหนึ่งในประเภทเหล่านั้น หากคุณสามารถเลือกจากมันแล้วมันออกกฎห้าคนแรกที่ปล่อยให้มันเป็นทั้งตารางมุมมองคำพ้องส่วนตัวหรือมุมมองที่ปรากฏ

เมื่อคุณค้นหาall_objectsเป็นต้นคุณใช้ตัวพิมพ์ใหญ่หรือไม่ ตัวอย่างเช่น,

select *
  from ALL_OBJECTS
 where OBJECT_NAME = 'COT_NTN_PI_V'; 

หากคุณใช้เครื่องมือบางอย่างเช่นนักพัฒนาของ SQL หรือคางคกคุณสามารถให้มันอธิบายวัตถุให้คุณได้ เน้นชื่อในเครื่องมือและกดShift-F4ใน Developer หรือF4ในคางคก คางคกมีคำอธิบายมากมายเกี่ยวกับวัตถุในขณะที่นักพัฒนาในแท็บรายละเอียดจะมีแถวที่มีTABLE_NAMEหรือมีMVIEW_NAMEอยู่ในนั้นและจะแสดงให้คุณเห็นว่ามันคืออะไร

เมื่อคุณรู้ว่ามันคืออะไรแล้วมันจะทำให้ง่ายต่อการรู้วิธีการวาง


ใช่ใช้ผู้พัฒนา sql และ shift + f4 ฉันสามารถค้นหาสิ่งที่ฉันต้องการได้! ขอบคุณ :)
BON

4

คุณอาจไม่สามารถมองเห็นวัตถุในตาราง ALL_% หากคุณไม่มีทุนใด ๆ บนวัตถุดังนั้นให้ตรวจสอบในตาราง DBA_OBJECTS (คุณจะต้องให้สิทธิ์ / ผู้ใช้ที่ได้รับอย่างเหมาะสมเพื่อทำสิ่งนี้):

select * 
from DBA_OBJECTS
where object_name = 'COT_NTN_PI_V';

หากนั่นไม่ได้สร้างผลลัพธ์ใด ๆ คุณสามารถตรวจสอบในตารางพจนานุกรมข้อมูล Oracle ดิบด้วยแบบสอบถามนี้:

select u.name as owner, o.name as object_name, 
 decode(o.type#, 0, 'NEXT OBJECT', 1, 'INDEX', 2, 'TABLE', 3, 'CLUSTER',
 4, 'VIEW', 5, 'SYNONYM', 6, 'SEQUENCE',
 7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE',
 11, 'PACKAGE BODY', 12, 'TRIGGER',
 13, 'TYPE', 14, 'TYPE BODY',
 19, 'TABLE PARTITION', 20, 'INDEX PARTITION', 21, 'LOB',
 22, 'LIBRARY', 23, 'DIRECTORY', 24, 'QUEUE',
 28, 'JAVA SOURCE', 29, 'JAVA CLASS', 30, 'JAVA RESOURCE',
 32, 'INDEXTYPE', 33, 'OPERATOR',
 34, 'TABLE SUBPARTITION', 35, 'INDEX SUBPARTITION',
 39, 'LOB PARTITION', 40, 'LOB SUBPARTITION',
 43, 'DIMENSION',
 44, 'CONTEXT', 47, 'RESOURCE PLAN',
 48, 'CONSUMER GROUP',
 51, 'SUBSCRIPTION', 52, 'LOCATION', 56, 'JAVA DATA', 'UNKNOWN') as type,
o.ctime, o.mtime,
 to_char(o.stime, 'YYYY-MM-DD:HH24:MI:SS'),
 decode(o.status, 0, 'N/A', 1, 'VALID', 'INVALID') as status
 from sys.obj$ o, sys.user$ u
 where o.owner# = u.user#
 and o.linkname is null
 and (o.type# not in (1 , 10) or
 (o.type# = 1 and 1 = (select 1
 from sys.ind$ i
 where i.obj# = o.obj#
 and i.type# in (1, 2, 3, 4, 6, 7, 9))))
 and o.name = 'COT_NTN_PI_V';
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.