2012-01-24 27 views
8

Bu oldukça aptalca bir şey, ama yardıma ihtiyacım var.Ortak bir eş anlamlı nasıl doğru yapılır

Mydbowner'a ait bir tablom var. Bu mydbowner.mytable olarak adlandırılır. Komutu vererek, ortak bir eşanlamlılık yapmaya çalıştım:

KAMU SENONUMU OLUŞTURMA VEYA DEĞİŞTİR mydbowner.mytable;

Bunu, ben de almak tablo sorguladığınızda: Sorunu kalmadan ben bu eş anlamlı hale yapmak nasıl eş anlamlı

arasında döngü zinciri:

ORA-01775.

+0

İki cevap doğru. Bir çeşit yazım hatası yaptım ve eş anlamlı hiçbir şeye atıfta bulunmadı. – Joe

cevap

12

Bence Justin doğru yolda. Aslında düşündüğüm şey, mydbowner.mytable'ın mevcut olmamasıdır. Bunun bulunması, orada İyi mbobak şemada hiçbir Tablom, bu nedenle KAMU içinde arar,

SQL> conn mbobak 
Enter password: 
Connected. 
SQL> drop table mytable; 
drop table mytable 
      * 
ERROR at line 1: 
ORA-00942: table or view does not exist 


SQL> create public synonym mytable for mbobak.mytable; 

Synonym created. 

SQL> select * from mytable; 
select * from mytable 
       * 
ERROR at line 1: 
ORA-01775: looping chain of synonyms 

ne oluyor var Oracle Tablom çözümlemeye çalışır olduğunu düşünüyorum ve bu görür: Burada

bir örnek mbobak.mytable'a işaret ediyor. Ancak, mbobak.mytable mevcut değil, bu yüzden KAMU'da mytable'ı arar ve döngü var. Eğer Tablom oluşturursanız

Ve aslında

, hata ortadan kalkar:

SQL> create table mytable as select * from dual; 

Table created. 

SQL> select * from mytable; 

D 
- 
X 

1 row selected. 

SQL> drop table mytable; 

Table dropped. 

SQL> select * from mytable; 
select * from mytable 
       * 
ERROR at line 1: 
ORA-01775: looping chain of synonyms 

Evet kamu eşanlamlı mbobak.mytable karar gelince de, bu gerçekten tamamen mantıklı değil gerçekleştirmek, ve bu bulunamadı, bana öyle geliyor ki, ORA-942 bir hata döndürmeli "tablo veya görünümü yok", bu bana çok daha mantıklı geliyor.

Ancak, bu nasıl çalışıyor gibi görünüyor.

QED

Bu yardımcı olur umarım.

6

Aldığınız hata, aslında mydbowner.mytable'un aslında bir tablo olmadığını ima eder.

ne yapar?

İlgili konular