Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle SQL :variables utilisées à la place des noms de table

  1. Vous devez avoir un espace entre le nom de la table et le WHERE suivant clause
  2. Le INTO doit faire partie du EXECUTE IMMEDIATE , ne fait pas partie de l'instruction SQL dynamique.
  3. L'instruction SQL dynamique ne doit pas comporter de point-virgule à la fin
  4. Le EXECUTE IMMEDIATE l'instruction doit se terminer par un point-virgule

En les rassemblant, quelque chose comme ça devrait fonctionner

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;

Bien sûr, puisque vous ne faites rien avec VR_UPDATE , rien ne s'affichera lors de l'exécution de ce bloc anonyme.