Mam obiekt o nazwie cot_ntn_pi_v
. Powiedziano mi, że to synonim. Nie pojawia się w tabeli all_synonimy. Wygląda jak widok lub tabela, ale nie mogę go znaleźć w tabeli wszystkich obiektów. Mogę wybrać z niego, ale nie mogę go upuścić, ponieważ „nie istnieje” i nie mogę utworzyć nowej tabeli o tej samej nazwie, co „nazwa jest już używana przez inny obiekt”.
Czy wariuję czy robię coś naprawdę głupiego?
oracle
oracle-10g
BON
źródło
źródło
Odpowiedzi:
Typy obiektów w tej samej przestrzeni nazw co tabela to:
Dlatego jest to prawdopodobnie jeden z tych typów. Jeśli możesz z niego wybrać, wyklucza to pierwsze pięć, pozostawiając go jako tabelę, widok, prywatny synonim lub widok zmaterializowany.
Podczas wyszukiwania
all_objects
itp. Używałeś wielkich liter? Na przykład,Jeśli używasz jakiegoś narzędzia, takiego jak SQL Developer lub Toad, możesz pozwolić, aby opisał obiekt dla Ciebie. Podświetl nazwę w narzędziu i naciśnij przycisk
Shift-F4
Deweloper lubF4
Ropucha. Toad zawiera dużo opisu obiektu, podczas gdy Deweloper na karcie Szczegóły będzie miał wiersz zTABLE_NAME
lubMVIEW_NAME
w nim i pokaże ci, co to jest.Gdy już wiesz, co to jest, łatwiej będzie wiedzieć, jak go upuścić.
źródło
Obiekt może nie być w stanie zobaczyć obiektu w tabelach ALL_%, jeśli nie masz żadnych uprawnień dla samego obiektu, więc sprawdź w tabeli DBA_OBJECTS (aby to zrobić, potrzebujesz uprawnień / odpowiednio przyznanego użytkownika):
Jeśli to nie da żadnych wyników, możesz sprawdzić w surowych tabelach słownika danych Oracle za pomocą tego zapytania:
źródło