27. november 2005 - 20:18Der er
3 kommentarer og 1 løsning
Problemer med SQL statements i PL/SQL
Jeg vil gerne have analyseret alle mine tabeller ved hjælp af noget PL/SQL kode. Jeg har forsøgt mig med følgende:
declare tabName ALL_TABLES.TABLE_NAME%TYPE; cursor tablesX is select TABLE_NAME from ALL_TABLES where owner = user; begin open tablesX; fetch tablesX into tabName; while tablesX%FOUND loop ANALYZE TABLE tabName COMPUTE STATISTICS FOR TABLE; fetch tablesX into tabName; end loop; end;
Jeg kan desværre ikke få det til at virke, da den giver fejl i linien med ANALYZE. Jeg får fejlen: ANALYZE TABLE tabName COMPUTE STATISTICS FOR TABLE; * FEJL i linie 8: ORA-06550: linje 8, kolonne 13: PLS-00103: Fandt symbolet "TABLE", hvor en af følgende var forventet: := . ( @ % ;
Hvad skal jeg gøre, for at få det til at virke ?? Hvordan skal jeg få indsat værdien for tabName i udtrykket ??
Mange tak for hjælpen. Kan du hjælpe med et lille lignende problem: Jeg vil udføre "select count(*) into numRows from tabName;" tabName er samme variable som før.
Det virker ikke med: execute immediate 'select count(*) into numRows from ' || tabName;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.