sql >> Databasteknik >  >> RDS >> Oracle

%ROWTYPE variabel från tabellnamn

Du kan förmodligen inte göra detta (åtminstone inte användbart).

Du kan konstruera ett helt anonymt PL/SQL-block

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;

Men i allmänhet, långt innan du börjar använda dynamisk PL/SQL under körning, vill du verkligen ta ett steg tillbaka och bedöma om det inte finns en enklare lösning på vilket problem du än har. Det finns ett valfritt antal ramverk, till exempel, som dynamiskt genererar CRUD-paket för var och en av dina tabeller. Det använder dynamisk PL/SQL men det gör det bara en gång som en del av en build istället för att göra det varje gång du vill uppdatera data.



  1. Hur man får alla fel av alla SSIS-paket i en lösning

  2. integration av spring 3, hibernate 3, maven och mysql

  3. Räkna poster returnerade MySQL-doktrin

  4. Beräkna avstånd mellan två punkter (latitud, longitud)