Длинный динамический запрос Oracle и как его отладить - PullRequest
1 голос
/ 31 мая 2011

У меня есть хранимая процедура, над которой я сейчас работаю, которая использует динамический SQL-запрос.

У нее есть одна переменная, назначенная (5000 - 6000 символов динамического SQL), и другая переменная, назначенная (5000 -6000 символов динамического SQL) и UNION ALL между обеими переменными.

Я получил динамический запрос из процедуры и запустил его в редакторе.Он вернул мне ряд данных.Как я могу отладить этот запрос?

Могу ли я сделать:

var1 = "dyamic SQL..." 
UNION ALL 
var2 = "dynamic SQL..."

Любой совет, который поможет мне отладить это, будет очень признателен.

1 Ответ

3 голосов
/ 31 мая 2011

Вы можете запустить динамический запрос (если это термин), но не таким образом. Вы можете выполнить строку запроса, используя

EXECUTE IMMEDIATE 'sqlstring'

или используя

OPEN c FOR 'sqlstring'

и есть пакет, который позволяет вам выполнить запрос со связанными параметрами.

Но все это требует, чтобы запрос представлял собой одну строку, поэтому я бы посоветовал вам объединить два запроса в третью переменную ...

var3 = var1 || ' UNION ALL ' || var2;

.. и затем выполните var3.

...