|
Динамический запрос в репорте!
|
|||
---|---|---|---|
#18+
Здравствуйте! Помогите с такой проблеммой.... есть репорт в апексе, в нём прописан запрос. SELECT column_poisk, ID, column2 FROM table1 WHERE CATSEARCH(column_poisk, :POISK, NULL)>0 ... как видно из запроса он берёт из страницы (из итема poisk) и на основе этого выполняет запрос и рисует репорт.... а вот чаго мне надо.... мне надо чтобы запрос был динамический, т.е. чтобы наименование таблицы бралось тоже из функции какой-нить или из итема на странице..... ... я пробовал в настройках репорта поставить returning SQL Query и ещё там параметр один в generic columns и написать запрос, но не совсем получается.... declare q varchar(1000); tablename varchar(100); begin tablename:='table1'; q = 'SELECT column_poisk, ID, column2 FROM ||tablename||' WHERE CATSEARCH(column_poisk, '||:POISK||', NULL)>0'; return q; end; .... неполучается.... может запрос неправильно пишу, помогите кто знает... нужен вот примерно такой запросец чтоп выполнялся... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2009, 10:09 |
|
Динамический запрос в репорте!
|
|||
---|---|---|---|
#18+
Tsunami9Здравствуйте! Помогите с такой проблеммой.... есть репорт в апексе, в нём прописан запрос. Код: plaintext 1. 2.
... как видно из запроса он берёт из страницы (из итема poisk) и на основе этого выполняет запрос и рисует репорт.... а вот чаго мне надо.... мне надо чтобы запрос был динамический, т.е. чтобы наименование таблицы бралось тоже из функции какой-нить или из итема на странице..... ... я пробовал в настройках репорта поставить returning SQL Query и ещё там параметр один в generic columns и написать запрос, но не совсем получается.... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Тут есть такой тег - SRC. С ним гораздо лучше видно, что не хватает одинарной кавычки перед ||tablename||. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2009, 12:58 |
|
Динамический запрос в репорте!
|
|||
---|---|---|---|
#18+
да... за ковычку спасибо, но эт я просто писал быстро и забыл про неё.... вот какбэ не в кавычке то дело.... Апекс ругается, говорит "ошибка деления на ноль"... когда в репорт просто эскюэль загоняешь, то обращаться к полям (элементам) формы вполне можно... тобишь брать данные (значения) из переменных типа :P1_ITEM а вот когда юзаешь returning SQL Query то этого зделать какбэ незя... может я не догоняю просто как? т.е. если жёстко прописать что таблица такая, параметр для поиска такой (через декларе или функцию использовать), то всё канает... а если начинаешь обращаться к полям страницы (в частности к строке поиска :POISK то апекс нипускает.... бя....а очень нужно замутить чтоб в одном репорте динамически общараться к разным таблицам можнобылоб.... про SRC не понял кстати... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2009, 03:48 |
|
Динамический запрос в репорте!
|
|||
---|---|---|---|
#18+
Tsunami9, напишите, пожалуйста, исправленный вариант PL/SQL-блока. Даже с учётом пропущенной кавычки у Вас там ошибка - когда конкатенируете строку с переменной, не заворачиваете значение переменной в кавычки. Проще говоря: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2009, 14:47 |
|
Динамический запрос в репорте!
|
|||
---|---|---|---|
#18+
да... спасибо!... разгадал загадку....! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2009, 03:37 |
|
Динамический запрос в репорте!
|
|||
---|---|---|---|
#18+
кстати я про тройные кавычки забыл.... они тоже гимор причиняют когда о них забываешь :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2009, 08:25 |
|
|
start [/forum/topic.php?fid=50&gotonew=1&tid=1877241]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 263ms |
total: | 432ms |
0 / 0 |