sql >> Databáze >  >> RDS >> Oracle

Nelze spustit velký dynamický výběrový dotaz v uložené proceduře

Můžete zkusit použít clob a CLOB v 11g, něco jako (netestováno):

declare
  l_sql clob;
  l_str1 varchar2(32767);
  l_str2 varchar2(32767);
begin
  dbms_lob.createtemporary(l_sql, false);

  l_str1 := 'some large SQL chunk';
  l_str2 := 'and the rest of large SQL chunk';

  l_sql := l_str1;
  dbms_lob.writeappend(l_sql, length(l_str2), l_str2);

  execute immediate l_sql;

  dbms_lob.freetemporary(l_sql);

end;


  1. Jazykový překlad pro tabulky

  2. Jak získat všechny tabulky s omezením primárního klíče nebo bez něj v databázi SQL Server - SQL Server / TSQL výukový program 59

  3. Zvýšení uložené procedury není kompatibilní s sql_mode=only_full_group_by, přestože je sql_mode prázdný

  4. Příčky a High Water Mark v Oracle