Luo synonyymi

Käyttötarkoitus

käytä CREATESYNONYM lausetta luodaksesi synonyymin, joka on vaihtoehtoinen nimi taulukolle, näkymälle, sekvenssille, menettelylle, tallennetulle funktiolle, paketille, materialisoidulle näkymälle, Java-luokan skeema-objektille, käyttäjän määrittelemälle objektityypille tai muulle synonyymille.

Synonyymit takaavat sekä tietojen riippumattomuuden että sijainnin avoimuuden. Synonyymien avulla sovellukset voivat toimia ilman muutoksia riippumatta siitä, kuka käyttäjä omistaa taulukon tai näkymän ja riippumatta siitä, missä tietokannassa taulukko tai näkymä on. Synonyymit eivät kuitenkaan korvaa tietokantaobjektien oikeuksia. Käyttäjälle on myönnettävä asianmukaiset oikeudet ennen kuin käyttäjä voi käyttää synonyymiä.

voidaan viitata synonyymeihin seuraavissa DML: n lausunnoissa: SELECTINSERTUPDATEDELETEFLASHBACKTABLEEXPLAINPLAN, ja LOCKTABLE.

voi viitata synonyymeihin seuraavissa DDL-lauseissa: AUDITNOAUDITGRANTREVOKE, ja COMMENT.

Katso myös:

Oracle Database Concepts for general information on synonyms

private synonymm in your own schema, you must have theCREATESYNONYM system privilege.

luodaksesi toisen käyttäjän skeemaan yksityisen synonyymin, täytyy sinulla olla CREATEANYSYNONYM system privilege.

luodaksesi PUBLIC synonyymin, sinulla täytyy olla CREATEPUBLICSYNONYM järjestelmäoikeudet.

syntaksi

create_synonym::=

Description of create_synonym.gif seuraa

kuvausta create_synonym.gif

semantiikka

tai korvaa

Määritä ORREPLACE luoda synonyymi uudelleen, jos se on jo olemassa. Käytä tätä lauseketta muuttaaksesi olemassa olevan synonyymin määritelmää pudottamatta sitä ensin.

rajoitus synonyymin korvaamisessa et voi käyttää ORREPLACE lauseketta tyypin synonyymille, jolla on riippuvia taulukoita tai riippuvia kelvollisia käyttäjän määrittelemiä oliotyyppejä.

Julkinen

Määritä PUBLIC luodaksesi julkisen synonyymin. Julkiset synonyymit ovat kaikkien käyttäjien saatavilla. Jokaisella käyttäjällä on kuitenkin oltava asianmukaiset oikeudet taustalla olevaan objektiin, jotta synonyymiä voidaan käyttää.

ratkaistaessa viittauksia objektiin, Oraclen tietokanta käyttää julkista synonyymiä vain, jos objektia ei ole edeltänyt skeema eikä sitä seuraa tietokantalinkki.

Jos tämän lausekkeen jättää pois, synonyymi on yksityinen ja on käytettävissä vain sen skeeman sisällä. Yksityinen synonyymi nimi on oltava ainutlaatuinen sen skeema.

huomautukset julkisista synonyymeistä seuraavat huomautukset koskevat julkisia synonyymejä:

  • Jos luot julkisen synonyymin ja sillä on myöhemmin riippuvia taulukoita tai riippuvia voimassa olevia käyttäjän määrittelemiä objektityyppejä, et voi luoda toista samannimistä tietokantaobjektia samaan skeemaan kuin riippuvaiset objektit.

  • varo luomasta julkista synonyymiä, jolla on sama nimi kuin olemassa olevalla skeemalla. Jos teet niin, kaikki PL / SQL-yksiköt, jotka käyttävät tätä nimeä, mitätöidään.

skeema

Määritä skeema, joka Sisältää synonyymin. Jos jätät schema pois, Oraclen tietokanta luo synonyymin omaan skeemaasi. Synonyymille ei voi määrittää skeemaa, jos on määritellyt PUBLIC.

synonyymi

Määritä luotavan synonyymin nimi.

Huom:

yli 30 tavua pitemmät synonyymit voidaan luoda ja niistä voidaan luopua. Kuitenkin, elleivät ne edusta Java-nimeä, ne eivät toimi missään muussa SQL-komennossa. Yli 30 tavua pidemmät nimet muutetaan hämäräksi lyhyemmäksi merkkijonoksi tallennettavaksi data-sanakirjassa.

Katso myös:

” luo synonyymi: Examples ”ja” Oracle Database Resolution of Synonyms: Example ”

lausekkeelle

määritä kohde, jolle synonyymi on luotu. Skeema-objekti, jolle luot synonyymin, voi olla seuraavia tyyppejä:

    taulukko tai objektitaulukko

    näkymä tai objektitaulukko

    sekvenssi

    tallennettu proseduuri, funktio tai paketti

    toteutunut näkymä

    Java-luokan skeema-objekti

  • käyttäjän määrittelemä objektityyppi
  • synonyymi

skeema-objektia ei tarvitse olla tällä hetkellä olemassa, eikä sinulla tarvitse olla oikeuksia objektin käyttöön.

for-lausekkeen rajoitus skeema-objekti ei voi sisältyä pakettiin.

skeema Määritä skeema, jossa objekti asuu. Jos objektia ei luokitella schema, tietokanta olettaa skeema-objektin olevan omassa skeemassasi.

Jos etätietokannassa luodaan synonyymi toimenpiteelle tai funktiolle, on schema tässä CREATE lausuma. Vaihtoehtoisesti voit luoda paikallisen julkisen synonyymin tietokantaan, jossa objekti sijaitsee. Tietokantalinkki on kuitenkin sisällytettävä kaikkiin myöhempiin menettelyyn tai toimintoon liittyviin puheluihin.

Dblink voit määrittää täydellisen tai osittaisen tietokantalinkin luodaksesi skeema-objektin synonyymin etätietokantaan, jossa objekti sijaitsee. Jos määritellään dblink ja jätetään pois schema, niin synonyymi tarkoittaa tietokantalinkin määrittelemän skeeman objektia. Oracle suosittelee, että määrittelet objektin sisältävän skeeman etätietokannassa.

Jos dblink jätetään pois, Oraclen tietokanta olettaa kohteen sijaitsevan paikallisessa tietokannassa.

Tietokantalinkkien rajoitusta ei voi määritellä dblink Java-luokan synonyymille.

Katso myös:

  • ”viitaten Etätietokantojen olioihin” lisätietoa tietokantalinkkeihin viittaamisesta

  • luo TIETOKANTALINKIT lisätietoa tietokantalinkien luomisesta

esimerkkejä

luo synonyymi: esimerkkejä synonyymin määrittelemiseksi officestaulukonlocationsskeemassahr, antaa seuraava lausuma:

CREATE SYNONYM offices FOR hr.locations;

luoda PUBLIC synonyymi employees taulukko skeemassa hrremote tietokanta, voit antaa seuraavan lausuman:

CREATE PUBLIC SYNONYM emp_table FOR [email protected];

synonyymillä voi olla sama nimi kuin taustalla olevalla objektilla, mikäli taustalla oleva objekti sisältyy toiseen skeemaan.

Oracle-tietokannan synonyymien resoluutio: 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;

Jos käyttäjä sh antaa seuraavan lausuman, tietokanta palauttaa rivien määrän sh.customers:

SELECT COUNT(*) FROM customers;

hakeakseen laskennan riveistä oe.customers, käyttäjän sh on esipuhuttava customers skeemanimellä. (Käyttäjällä sh täytyy olla myös valintaoikeus 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;

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *