sql >> Databasteknik >  >> RDS >> Oracle

Hur hanterar man Oracle-synonymer med Flyway 2.0.1?

Det bästa sättet skulle vara att kvalificera schemanamnet i programmet.

Om det inte är möjligt och applikationen bara använder SQL (inte PL/SQL) för att komma åt "Ägare"-objekten, kan du undvika synonymer överhuvudtaget genom att ändra standardschemat i en utlösare efter inloggning:

create or replace trigger USERX.a_logon_USERX
after logon on USERX
BEGIN
  EXECUTE IMMEDIATE ('ALTER SESSION SET current_schema=standard');
END;

Det är dock lite svårt att förstå att denna teknik misslyckas när applikationen skickar PL/SQL-block ("börja ... slut;") till databasen. PL/SQL är kompilerad och kan därför inte beakta det aktuella schemat.



  1. hur man bygger en php mysql-applikation som fungerar offline

  2. sqlalchemy func.group_concat och slumpmässig ordning av data

  3. GRUPPER EFTER månad i fältet DATETIME

  4. Kan inte använda ett aggregat eller en underfråga i ett uttryck som används för group by-listan i en GROUP BY-sats