sql >> Database >  >> RDS >> Oracle

PL/SQL:herschrijf de SELECT-instructie met de IN-parameter in de opgeslagen procedure

U moet dezelfde dynamische SQL-aanpak gebruiken die werd voorgesteld in uw andere vraag

PROCEDURE get_stat (gender IN VARCHAR2) 
AS
    v_sql   varchar2(1000);
    v_param varchar2(100) := 'AVG_WEIGHT';
    v_stat  number;
BEGIN
    v_sql := 'SELECT ' || gender || ' FROM survey WHERE parameter = :1';
    EXECUTE IMMEDIATE v_sql
                 INTO v_stat
                USING v_param;
END get_stat;

Maar u zou dezelfde algemene bezwaren hebben als in uw eerdere vraag:het datamodel is fundamenteel gebrekkig. Je zou veel beter geholpen zijn met een aparte rij voor MALE en FEMALE enquêteresultaten in plaats van aparte kolommen voor male en female resultaten.



  1. Draaitabel maken voor aanwezigheid met php en mysql

  2. MySQL-time-out in powershell

  3. ajax-formuliervalidatie met mysqli_query

  4. Hoe maak je een boomstructuur in slaapstand met meerdere tabellen?