sql >> Database >  >> RDS >> PostgreSQL

Hoe FETCH te gebruiken met behulp van de waarde van een Refcursor-variabele

Om de cursor een naam te geven, wijst u eenvoudig een tekenreeks toe aan de refcursor variabele:

DECLARE
    ref refcursor := ''willi'';

Dan krijgt de portal die naam.

Het is belangrijk dat u de naam voor . toewijst je opent de cursor.

Als u de naam niet wilt toewijzen, cast het resultaat van de functie gewoon naar text , dat geeft je de naam van de cursor.

Hoe FETCH te gebruiken hangt af van de omgeving waar je het noemt:

  • Als je het vanuit SQL aanroept, moet je het als volgt doen:

    FETCH ALL FROM willi;
    

    U moet de SQL-instructie maken met behulp van het resultaat van de functie, cast naar text .

  • Als je het aanroept vanuit PL/pgSQL, kun je een variabele gebruiken in de FETCH verklaring, maar u moet een bestemming voor het resultaat opgeven:

    DECLARE
       r refcursor;
       x text;  -- use the correct type
    BEGIN
       r := reffunc2();
       FETCH NEXT FROM r INTO x;
    END;
    



  1. Hoe Zend Framework te gebruiken om te exporteren naar CSV met de INTO OUTFILE-functionaliteit van mySQL

  2. SQLite Self-Join

  3. Geneste cursors in PL/SQL

  4. hoe u invoer kunt ontsnappen, maar zonder escape kunt opslaan in de database