sql >> Databáze >  >> RDS >> PostgreSQL

Jak načíst pomocí hodnoty proměnné Refcursor

Chcete-li pojmenovat kurzor, jednoduše přiřaďte řetězec refcursor proměnná:

DECLARE
    ref refcursor := ''willi'';

Poté bude mít portál tento název.

Je důležité, abyste jméno přiřadili před otevřete kurzor.

Pokud nechcete přiřadit název, jednoduše přetypujte výsledek funkce do text , který vám dá jméno kurzoru.

Jak používat FETCH závisí na prostředí, kde to nazýváte:

  • Pokud to zavoláte z SQL, musíte to udělat takto:

    FETCH ALL FROM willi;
    

    Budete muset vytvořit příkaz SQL pomocí výsledku z funkce, přetypovat na text .

  • Pokud to zavoláte z PL/pgSQL, můžete použít proměnnou v FETCH příkaz, ale musíte zadat cíl pro výsledek:

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



  1. Je lepší provést sjednocení v SQL nebo samostatné dotazy a poté použít php array_merge?

  2. Funkce MySQL RAND() – Generování náhodného čísla v MySQL

  3. SQLite COUNT

  4. Jak importovat data do zadaného tabulkového prostoru