sql >> Database teknologi >  >> RDS >> Oracle

Ikke i stand til at køre en stor dynamisk valgforespørgsel i den lagrede procedure

Du kan prøve at bruge en klump en CLOB i 11g, noget i stil med (utestet):

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. SQL-forespørgsel til at vælge datoer mellem to datoer

  2. Tæl aktive brugere baseret på logins sidste 90 dage

  3. Sådan vender du en streng i Oracle (11g) SQL uden at bruge REVERSE()-funktionen

  4. Kan ikke oprette forbindelse til MariaDB ved hjælp af DBeaver