Utwórz synonim

cel

użyj poleceniaCREATESYNONYM, aby utworzyć synonim, który jest alternatywną nazwą dla tabeli, widoku, sekwencji, procedury, funkcji przechowywanej, pakietu, widoku zmaterializowanego, obiektu schematu klasy Java, typu obiektu zdefiniowanego przez użytkownika lub innego synonimu.Synonimy

zapewniają zarówno niezależność danych, jak i przejrzystość lokalizacji. Synonimy zezwalają aplikacjom na działanie bez zmian, niezależnie od tego, który użytkownik jest właścicielem tabeli lub widoku i niezależnie od bazy danych, w której znajduje się tabela lub widok. Synonimy nie zastępują jednak uprawnień dla obiektów bazy danych. Przed użyciem synonimu należy przyznać użytkownikowi odpowiednie uprawnienia.

możesz odnosić się do synonimów w następujących wyrażeniach DML: SELECTINSERTUPDATEDELETEFLASHBACKTABLEEXPLAINPLAN I LOCKTABLE.

możesz odnosić się do synonimów w następujących wyrażeniach DDL: w celu uzyskania bardziej szczegółowych informacji należy skontaktować się z biurem obsługi klienta pod adresem: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Zobacz także:

Oracle Database Concepts dla ogólnych informacji o synonimach

wymagania wstępne

aby utworzyć prywatny synonim we własnym schemacie, musisz miećCREATESYNONYM uprawnienia systemowe.

aby utworzyć prywatny synonim w schemacie innego użytkownika, musisz miećCREATEANYSYNONYM uprawnienia systemowe.

aby utworzyć synonimPUBLIC, musisz miećCREATEPUBLICSYNONYM przywilej systemowy.

składnia

create_synonym::=

opis create_synonym.gif następuje

opis ilustracji create_synonym.gif

semantyka

lub zastąp

OkreślORREPLACE, aby ponownie utworzyć synonim, jeśli już istnieje. Użyj tej klauzuli, aby zmienić definicję istniejącego synonimu bez wcześniejszego upuszczenia go.

ograniczenie zastępowania synonimu nie można używać klauzuli ORREPLACE dla synonimu typu, który ma jakiekolwiek zależne tabele lub zależne prawidłowe typy obiektów zdefiniowane przez użytkownika.

PUBLIC

podaj PUBLIC, aby utworzyć publiczny synonim. Publiczne synonimy są dostępne dla wszystkich użytkowników. Jednak każdy użytkownik musi mieć odpowiednie uprawnienia do obiektu bazowego, aby użyć synonimu.

podczas rozwiązywania odniesień do obiektu, Oracle Database używa publicznego synonimu tylko wtedy, gdy obiekt nie jest poprzedzony schematem i nie następuje po nim łącze do bazy danych.

jeśli pominiesz tę klauzulę, to synonim jest prywatny i jest dostępny tylko w ramach swojego schematu. Prywatna nazwa synonimu musi być unikalna w swoim schemacie.

uwagi dotyczące synonimów publicznych poniższe uwagi dotyczą synonimów publicznych:

  • jeśli utworzysz publiczny synonim, który następnie będzie miał zależne tabele lub zależne ważne typy obiektów zdefiniowane przez użytkownika, to nie możesz utworzyć innego obiektu bazy danych o tej samej nazwie co synonim w tym samym schemacie co obiekty zależne.

  • uważaj, aby nie tworzyć publicznego synonimu o tej samej nazwie, co istniejący schemat. Jeśli to zrobisz, wszystkie jednostki PL/SQL, które używają tej nazwy, zostaną unieważnione.

schemat

Określ schemat, aby zawierał synonim. Jeśli pominieszschema, to Oracle Database utworzy synonim we własnym schemacie. Nie można określić schematu dla synonimu, jeśli podano PUBLIC.

synonim

podaj nazwę synonimu, który ma zostać utworzony.

Uwaga:

Synonimy dłuższe niż 30 bajtów mogą być tworzone i usuwane. Jednak o ile nie reprezentują nazwy Javy, nie będą działać w żadnym innym poleceniu SQL. Nazwy dłuższe niż 30 bajtów są przekształcane w niejasny krótszy łańcuch do przechowywania w słowniku danych.

Zobacz też:

„Utwórz synonim: Przykłady „i” Oracle Database Resolution of Synonyms: Example ”

Dla klauzuli

określa obiekt, dla którego synonim jest tworzony. Obiekt schematu, dla którego tworzysz synonim, może mieć następujące typy:

  • tabela lub obiekt tabela

  • widok lub widok obiektu

  • Sekwencja

  • procedura składowana, funkcja lub pakiet

  • zmaterializowany widok

  • obiekt Java class schema

  • typ obiektu zdefiniowany przez użytkownika

  • synonim

obiekt schematu nie musi obecnie istnieć i nie trzeba mieć uprawnień dostępu do obiektu.

ograniczenie klauzuli FOR obiekt schematu nie może być zawarty w pakiecie.

schema określa schemat, w którym znajduje się obiekt. Jeśli nie kwalifikujesz obiektu z schema, to baza danych zakłada, że obiekt schematu znajduje się w twoim własnym schemacie.

Jeśli tworzysz synonim procedury lub funkcji w zdalnej bazie danych, musisz określićschema w tej instrukcjiCREATE. Alternatywnie można utworzyć lokalny publiczny synonim w bazie danych, w której znajduje się obiekt. Jednak łącze do bazy danych musi być włączone we wszystkich kolejnych wywołaniach procedury lub funkcji.

dblink możesz określić pełne lub częściowe łącze do bazy danych, aby utworzyć synonim obiektu schematu w zdalnej bazie danych, w której znajduje się obiekt. Jeśli podasz dblink I pominiesz schema, wtedy synonim odnosi się do obiektu w schemacie określonym przez łącze do bazy danych. Oracle zaleca określenie schematu zawierającego obiekt w zdalnej bazie danych.

Jeżeli pominieszdblink, wtedy Oracle Database zakłada, że obiekt znajduje się w lokalnej bazie danych.

ograniczenie linków do bazy danych nie można określić dblink dla synonimu klasy Java.

Zobacz także:

  • „odnoszenie się do obiektów w zdalnych bazach danych” aby uzyskać więcej informacji na temat odnoszenia się do linków do baz danych

  • Utwórz łącze do bazy danych aby uzyskać więcej informacji na temat tworzenia łączy do bazy danych

przykłady

Utwórz synonim: przykłady do zdefiniowania synonimuoffices dla tabelilocations w schemaciehr wydaj następujące polecenie:

CREATE SYNONYM offices FOR hr.locations;

aby utworzyćPUBLIC synonim dlaemployees tabela w schemaciehr naremote bazy danych, możesz wydać następujące polecenie:

CREATE PUBLIC SYNONYM emp_table FOR [email protected];

synonim może mieć taką samą nazwę jak obiekt bazowy, pod warunkiem, że obiekt bazowy jest zawarty w innym schemacie.

rozwiązywanie baz danych Oracle synonimów: Example Oracle Database attempts to resolve references to objects at the schema level before resolving them at the PUBLIC synonym level. For example, the schemas oe and sh both contain tables named customers. In the next example, user SYSTEM creates a PUBLIC synonym named customers for oe.customers:

CREATE PUBLIC SYNONYM customers FOR oe.customers;

Jeśli użytkowniksh wyda następującą instrukcję, wtedy baza danych Zwraca liczbę wierszy zsh.customers:

SELECT COUNT(*) FROM customers;

, aby pobrać liczbę z wierszy zoe.customers, użytkowniksh musi poprzedzaćcustomers z nazwą schematu. (Użytkownik sh musi również mieć uprawnienia select na oe.customers.)

SELECT COUNT(*) FROM oe.customers;

If the user hr’s schema does not contain an object named customers, and if hr has select permission on oe.customers, then hr can access the customers table in oe’s schema by using the public synonym customers:

SELECT COUNT(*) FROM customers;

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *