sql >> Databasteknik >  >> RDS >> Oracle

Det går inte att köra dynamisk fråga i lagrad procedur när man väljer antal poster

Ditt dynamiska uttalande ska inte ha ett semikolon i slutet; som är en satsavgränsare och inte relevant eller giltig för en enskild sats. Du kan bara köra en enda SQL-sats dynamiskt ändå (såvida du inte lägger flera i ett anonymt PL/SQL-block).

Din into är också på fel ställe:

TEMP_1 := 'select count ( '|| E ||' ) from ' || C;

DBMS_OUTPUT.PUT_LINE ('STARTED');
DBMS_OUTPUT.PUT_LINE (TEMP_1);

EXECUTE IMMEDIATE TEMP_1 INTO Count_source;

Inte säker på varför du bryr dig om att ha och tilldela lokala variabler när du kan använda procedurargumenten direkt, vilket jag tror gör påståendet mer läsbart:

TEMP_1 := 'select count ( '|| COLUMN_SOURCE ||' ) from ' || TABLE_SOURCE;



  1. Hur ändrar man tryckknappsetikettens text och lägger till en ny funktionalitet under körning? Oracle Forms

  2. Hur återställer man specifik data från tidigare säkerhetskopiering på Postgres Heroku? (T.ex. raderade rader av misstag)

  3. rake db:create genereras om du ställer in teckenuppsättningen manuellt, se till att du har ett matchande sorteringsfel

  4. Varför är XAMPP inte lämpat för produktion?