sql >> Database >  >> RDS >> Oracle

Kan dynamische query niet uitvoeren in opgeslagen procedure tijdens het selecteren van het aantal records

Uw dynamische verklaring mag aan het einde geen puntkomma hebben; dat is een scheidingsteken voor instructies en niet relevant of geldig voor een enkele instructie. Je kunt sowieso maar één enkele SQL-instructie dynamisch uitvoeren (tenzij je er meerdere in een anoniem PL/SQL-blok plaatst).

Uw into staat ook op de verkeerde plaats:

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;

Ik weet niet zeker waarom je de moeite neemt om lokale variabelen te hebben en toe te wijzen als je de procedureargumenten rechtstreeks kunt gebruiken, wat volgens mij de verklaring leesbaarder maakt:

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



  1. De index van een ingevoegde rij ophalen

  2. php POST formulier query update dynamische variabele

  3. Gegevens kopiëren van de ene tabel naar de andere tabel. Databases zijn anders en tabelstructuur is anders

  4. Toegestane geheugengrootte van 8589934592 bytes uitgeput