|
|
|
И опять хранимая процедура :(
|
|||
|---|---|---|---|
|
#18+
Имеем храниму процедуру. CREATE FUNCTION get_clients_subscr(pr_ids INTEGER,cat_ids char) ... в cat_ids я в нее должен передать "1,5,7,9" чтоб потом выполнить запрос в хранимой процедруре типа SELECT ..... WHERE id IN (cat_ids) Информикс понятное дело считает cat_ids текстом как это исправить. Возможно ли это??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 12:25 |
|
||
|
И опять хранимая процедура :(
|
|||
|---|---|---|---|
|
#18+
SNK2004Имеем храниму процедуру. CREATE FUNCTION get_clients_subscr(pr_ids INTEGER,cat_ids char) ... в cat_ids я в нее должен передать "1,5,7,9" чтоб потом выполнить запрос в хранимой процедруре типа SELECT ..... WHERE id IN (cat_ids) Информикс понятное дело считает cat_ids текстом как это исправить. Возможно ли это??? CREATE FUNCTION get_clients_subscr ( pr_ids INTEGER ,cat_ids set(int not null) ); SELECT ..... WHERE id IN cast(cat_ids as set (int not null)); end function; ЗЫ Передавать параметр в виде set{1,5,7,9} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 12:49 |
|
||
|
И опять хранимая процедура :(
|
|||
|---|---|---|---|
|
#18+
сорри, но выполнять так??? EXECUTE PROCEDURE get_clients_subscr(9,set{1,5,7,9}) в тело процедуры я повставлял: CREATE FUNCTION get_clients_subscr(pr_ids INTEGER,cat_ids set(int not null)) ..... ....IN cast(cat_ids as set (int not null)) ....... Выдается ошибка "General exeption error has occured in the optimizer" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 13:59 |
|
||
|
И опять хранимая процедура :(
|
|||
|---|---|---|---|
|
#18+
SNK2004Имеем храниму процедуру. CREATE FUNCTION get_clients_subscr(pr_ids INTEGER,cat_ids char) ... в cat_ids я в нее должен передать "1,5,7,9" чтоб потом выполнить запрос в хранимой процедруре типа SELECT ..... WHERE id IN (cat_ids) Информикс понятное дело считает cat_ids текстом как это исправить. Возможно ли это??? а может: Создать табличку Groups GroupID GroupMember1 1 1 5 1 7 1 9 2 12 43 63 7 Процедуру Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 13:59 |
|
||
|
И опять хранимая процедура :(
|
|||
|---|---|---|---|
|
#18+
запрос выполняется очень часто. Если я буду создавать каждый раз временную таблицу с нужным мне набором параметров, то не будет ли это сильно грузить сервер??? Я думаю будет. Массив передать никак нельзя, что потом его использовать в IN($array) ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 14:26 |
|
||
|
И опять хранимая процедура :(
|
|||
|---|---|---|---|
|
#18+
SNK2004запрос выполняется очень часто. Если я буду создавать каждый раз временную таблицу с нужным мне набором параметров, то не будет ли это сильно грузить сервер??? Я думаю будет. ... ??? Гы, видимо я неправильно понял задачу, я говорил про постоянную табличку :). Про (Выдается ошибка "General exeption error has occured in the optimizer"), версия информикса какая? Пиши в саппорт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 14:30 |
|
||
|
И опять хранимая процедура :(
|
|||
|---|---|---|---|
|
#18+
Пиши процедуру не на SPL , а на ESQL/C ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 15:24 |
|
||
|
И опять хранимая процедура :(
|
|||
|---|---|---|---|
|
#18+
SNK2004Имеем храниму процедуру. CREATE FUNCTION get_clients_subscr(pr_ids INTEGER,cat_ids char) ... в cat_ids я в нее должен передать "1,5,7,9" чтоб потом выполнить запрос в хранимой процедруре типа SELECT ..... WHERE id IN (cat_ids) Информикс понятное дело считает cat_ids текстом как это исправить. Возможно ли это??? Ты можешь в таком случае использовать динамический SQL. Где его взять и как установить ищи на форуме или в FAQ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 11:58 |
|
||
|
И опять хранимая процедура :(
|
|||
|---|---|---|---|
|
#18+
SNK2004сорри, но выполнять так??? EXECUTE PROCEDURE get_clients_subscr(9,set{1,5,7,9}) в тело процедуры я повставлял: CREATE FUNCTION get_clients_subscr(pr_ids INTEGER,cat_ids set(int not null)) ..... ....IN cast(cat_ids as set (int not null)) ....... Выдается ошибка "General exeption error has occured in the optimizer" create temp table zTemp(a int)with no log; insert into zTemp values (1); insert into zTemp values (2); insert into zTemp values (3); insert into zTemp values (4); CREATE function __func(_set set(int not null)) returning int; define _a int; select count(a) into _a from zTemp where a in cast(_set as set(int not null)); return _a; end function; EXECUTE PROCEDURE __func(set{1,5,3,9}); drop table zTemp; ЗЫ У мя все нормально отрабатывает. IBM Informix Dynamic Server Version 9.40.UC4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 13:07 |
|
||
|
|

start [/forum/topic.php?fid=44&tid=1608862]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 203ms |
| total: | 321ms |

| 0 / 0 |
