sql >> Databasteknik >  >> RDS >> Oracle

Oracle SQL:variabler som används i stället för tabellnamn

  1. Du måste ha ett mellanslag mellan tabellnamnet och den efterföljande WHERE klausul
  2. INTO måste vara en del av EXECUTE IMMEDIATE , inte en del av den dynamiska SQL-satsen.
  3. Den dynamiska SQL-satsen ska inte ha ett avslutande semikolon
  4. Koden EXECUTE IMMEDIATE uttalandet ska sluta med semikolon

Om man sätter ihop dem borde något sådant här fungera

declare 
  VR_TABLE VARCHAR2(256);
  VR_UPDATE VARCHAR2(256);
begin
  VR_TABLE :='SYSTEM_STATUS';
  EXECUTE IMMEDIATE 'select UPDATE_VERSION from ' || VR_TABLE || ' where rownum < 2'
               INTO VR_UPDATE;
end;

Naturligtvis, eftersom du inte gör något med VR_UPDATE , ingenting kommer att visas när detta anonyma block exekveras.



  1. Hur man konfigurerar PostgreSQL för att acceptera alla inkommande anslutningar

  2. Utlösare för att tyst ignorera/ta bort dubbletter av poster på INSERT

  3. Köra flera laravel alter-tabellmigreringsfrågor i en?

  4. Anslutningspoolning med Pgbouncer på PostgreSQL 9.0