Oracle
 sql >> база данни >  >> RDS >> Oracle

%ROWTYPE променлива от името на таблицата

Вероятно не можете да направите това (поне не полезно).

Можете да конструирате цял анонимен PL/SQL блок

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;

Като цяло обаче, много преди да започнете да прибягвате до динамичен PL/SQL по време на изпълнение, наистина искате да направите крачка назад и да прецените дали няма по-лесно решение за всеки проблем, който имате. Има произволен брой рамки, например, които динамично генерират CRUD пакети за всяка от вашите таблици. Това използва динамичен PL/SQL, но го прави само веднъж като част от компилация, вместо да го прави всеки път, когато искате да актуализирате данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите списък с всички процедури в пакет oracle

  2. валидиране на xml документ в java източника на Oracle

  3. Разделяне на низове в PL/SQL

  4. арабски знаци в базата данни на oracle

  5. Какъв би бил най-добрият метод за мигриране на база данни на Oracle към MS Access с помощта на Java?