Çok uzun bir dizeyi yürütmek için EXECUTE IMMEDIATE
komutunu kullanan bir saklı yordamım var. Çok uzun bir dizeyi nasıl destekleyebilirim ve verileri bir yansıtıcıya nasıl dönüştürebilirim?Oracle Bir imlecin İYİLEŞTİRİLMESİ
7
A
cevap
0
11gR2 ve DBMS_SQL.to_refcursor'u kullanın. SQL, böyle bir şey kullanmak gerekir değil daha uzun (@Tony Andrews ima gibi) 32K daha olduğunu varsayarsak
12
: ref imleçler ile
declare
SQL_Text varchar2(32760) := 'select * from dual'; --your query goes here
cur sys_refcursor;
begin
open cur for SQL_Text;
end;
çalışan open-for
doğrudan kullanılabilir execute immediate
yerine.
"Çok uzun" ne kadar? 32 K'dan fazla mı? –
Hangi veritabanı sürümü? – DCookie