sql >> Database >  >> RDS >> Oracle

%ROWTYPE variabele uit tabelnaam

U kunt dit waarschijnlijk niet doen (althans niet nuttig).

Je zou een volledig anoniem PL/SQL-blok kunnen maken

v_plsql := 'DECLARE ' ||
           '  l_row ' || p_table_name || '%rowtype; ' ||
           'BEGIN ' ||
           '  SELECT * ' ||
           '    INTO l_row ' ||
           '    FROM ' || p_table_name ||
           '    WHERE id = ' || p_some_old_value || ';' ||
           ...
EXECUTE IMMEDIATE v_plsql;

Over het algemeen wil je echter lang voordat je je toevlucht neemt tot dynamische PL/SQL tijdens runtime, echt een stap terug doen en beoordelen of er geen eenvoudigere oplossing is voor welk probleem je ook hebt. Er is bijvoorbeeld een willekeurig aantal frameworks die dynamisch CRUD-pakketten genereren voor elk van uw tabellen. Dat is het gebruik van dynamische PL/SQL, maar het doet het maar één keer als onderdeel van een build in plaats van het elke keer te doen als je gegevens wilt bijwerken.



  1. hoe pdf-rapporten automatisch in de database op te slaan?

  2. Query's herschrijven om de prestaties te verbeteren

  3. Hoe gebruik ik Django met verouderde alleen-lezen databasetabellen met samengestelde primaire sleutels?

  4. Hoe krijg ik de grenscoördinaten voor een Amerikaanse postcode?