Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle SQL:променливи, използвани вместо имена на таблици

  1. Трябва да имате интервал между името на таблицата и последващия WHERE клауза
  2. INTO трябва да бъде част от EXECUTE IMMEDIATE , а не част от динамичния SQL израз.
  3. Динамичният SQL оператор не трябва да има точка и запетая в края
  4. EXECUTE IMMEDIATE изразът трябва да завършва с точка и запетая

Събирайки ги заедно, нещо подобно би трябвало да работи

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;

Разбира се, тъй като не правите нищо с VR_UPDATE , нищо няма да се покаже, когато този анонимен блок бъде изпълнен.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Запитване на поднизове към списък със стойности

  2. Проблем с преобразуване на Oracle SQL DATE при използване на iBATIS чрез Java JDBC

  3. Намерете текущи работни места за формуляри и отчети на Oracle

  4. Oracle получава DISTINCT число с CLOB в заявката

  5. Проблеми при компилиране на OCILIB OCI Wrapper Library