Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Создаю таблицу DECLARE GLOBAL TEMPORARY TABLE session.res5 (Наимен_страны varchar(500),Ед_измp varchar(5),Количество decimal,Ст_тыс_долл_США decimal) забиваю данные insert into session.res5 (Наимен_страны ,Количество ,Ст_тыс_долл_США) (select 'СССР', 52, 50) from temp2 where char(g33a,4)='8703'); просматриваю select * from session.res5 0 записей выбрано. Можно ли вообще просмотреть результат !? если можно то как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2007, 09:09 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Я обычно создаю временную таблицу с опциями on commit preserve rows not logged Ни разу не было проблем с чтением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2007, 09:11 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Спасибо все получилось! хорошая штука 'on commit preserve rows not logged' а где можно поподробнее почитать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2007, 09:34 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2007, 11:05 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
По-хорошему надо бы autocommit выключить, а не preserve rows. update command options using c off; declare .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2007, 18:52 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
По-хорошему вопрос был про одну таблицу....Нужно ли конфигурить всю БД ради нее одной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2007, 20:47 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Действительно, нужно ли? "update command options" - это для командного процессора, если че. А вовсе не для "всю БД ради нее одной". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2007, 21:25 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Как правильно использовать update command options using c off;? если я делаю так update command options using c off; DECLARE GLOBAL TEMPORARY TABLE session.res5 (Наимен_страны varchar(500),Ед_измp varchar(5),Количество decimal,Ст_тыс_долл_США decimal); insert into session.res5 values ('СССР','КГ',20,50); select * from session.res5 то результат 0 записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 07:07 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Мне показалось, что человек интересовался этим вопросом не в целях работы с CLP....) Может просто показалось.... P.S. Вот чего думаю.... А есть подобные опции на БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 09:05 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 14:17 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Доступно объяснил :)) спс! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 07:25 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Еще такой вопрос: как работать с этой таблицей в цикле так не получется create procedure temp2(in dat date,in data date) result set 1 language sql begin declare vr_sum decimal(15,2); declare vr_g33a char(4); declare vr_summa decimal(15,2); declare vr_count smallint; declare myCursor1 cursor with return for select char(g33a,4), sum(g46) from t_st2006 where g01a='ИМ' and g54d between dat and data group by char(g33a,4) order by char(g33a,4); declare myCursor cursor with return for s1; declare global temporary table session.temp2(наимен_страны varchar(50) ,Количество decimal,Ст_тыс_долл_США decimal) update command options using c off или --on commit preserve rows not logged; select count(distinct char(g33a,4)) into vr_count from t_st2006 where char(g33a,4)=any(select char(g33a,4) from t_st2006 where g01a='ИМ' and g54d between dat and data group by char(g33a,4)); select sum(g46) into vr_summa from t_st2006 where g01a='ИМ' and g54d between dat and data; set vr_summa=(vr_summa*5)/100; open myCursor1; while vr_count<>0 do set vr_count=vr_count-1; fetch myCursor1 into vr_g33a, vr_sum; if vr_sum>=vr_summa then insert into session.temp2 select g01a, g33a, g15_17, s15_17, g41, g31b, g46, g54d from t_st2006 where char (g33a, 4)=vr_g33a and g54d between dat and data and g01a='ИМ'; end if; end while; close myCursor1; open myCursor; open myCursor1; end @ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 10:11 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
У вас тут каша. Непонятно, что вы вернуть из процедуры хотите? Куча ошибок: 1. Объявлен 1 возвращаемый result set и 2 курсора в конце открываются. 2. update command options - не нужно (да и работать не будет). 3. session.temp2 объявляется с 3-мя полями, а insert в нее идет с 8-ю. 4. Объявлен курсор myCursor на statement s1, но нет нигде prepare s1 from ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 12:10 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
update command options using c off - это команда СLP а не SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 12:34 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
я и не говорил что это правильный пример 3. session.temp2 объявляется с 3-мя полями, а insert в нее идет с 8-ю. меня только интересует времянка так примерно..? create procedure temp2(in dat date,in data date) result set 1 language sql begin declare vr_sum decimal(15,2); declare vr_g33a char(4); declare vr_summa decimal(15,2); declare vr_count smallint; declare SQL_CMD varchar(200); declare myCursor1 cursor with return for select char(g33a,4), sum(g46) from t_st2006 where g01a='ИМ' and g54d between dat and data group by char(g33a,4) order by char(g33a,4); declare myCursor cursor with return for s1; declare global temporary table session.temp2(наимен_страны varchar(50) ,Количество decimal,Ст_тыс_долл_США decimal) on commit preserve rows not logged; set SQL_CMD='select * from session.temp2'; prepare s1 from SQL_CMD; select count(distinct char(g33a,4)) into vr_count from t_st2006 where char(g33a,4)=any(select char(g33a,4) from t_st2006 where g01a='ИМ' and g54d between dat and data group by char(g33a,4)); select sum(g46) into vr_summa from t_st2006 where g01a='ИМ' and g54d between dat and data; set vr_summa=(vr_summa*5)/100; open myCursor1; while vr_count<>0 do set vr_count=vr_count-1; fetch myCursor1 into vr_g33a, vr_sum; if vr_sum>=vr_summa then insert into session.temp2 select g01a, g33a, g15_17, s15_17, g41, g31b, g46, g54d from t_st2006 where char(g33a, 4)=vr_g33a and g54d between dat and data and g01a='ИМ'; end if; end while; close myCursor1; open myCursor; end @ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 14:14 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
вот готовый скрипт create procedure temp2(in dat date,in data date) result set 1 language sql begin declare vr_sum decimal(15,2); declare vr_g33a char(4); declare vr_summa decimal(15,2); declare vr_count smallint; declare SQL_CMD varchar(100); declare myCursor1 cursor with return for select char(g33a,4), sum(g46) from t_st2006 where g01a='ИМ' and g54d between dat and data group by char(g33a,4) order by char(g33a,4); declare myCursor cursor with return for s1; declare global temporary table session.temp2(g01a varchar(4), g33a varchar(9), g15_17 varchar(3), s15_17 varchar(3), g41 varchar(3), g31b integer, g46 decimal(15,2), g54d date) on commit preserve rows not logged; set SQL_CMD='select * from session.temp2'; prepare s1 from SQL_CMD; select count(distinct char(g33a,4)) into vr_count from t_st2006 where char(g33a,4)=any(select char(g33a,4) from t_st2006 where g01a='ИМ' and g54d between dat and data group by char(g33a,4)); select sum(g46) into vr_summa from t_st2006 where g01a='ИМ' and g54d between dat and data; set vr_summa=(vr_summa*5)/100; open myCursor1; while vr_count<>0 do set vr_count=vr_count-1; fetch myCursor1 into vr_g33a, vr_sum; if vr_sum>=vr_summa then insert into session.temp2 select g01a, g33a, g15_17, s15_17, g41, g31b, g46, g54d from t_st2006 where char (g33a, 4)=vr_g33a and g54d between dat and data and g01a='ИМ'; end if; end while; close myCursor1; open myCursor; end @ только он ругается на SQL0601N Имя создаваемого объекта идентично существующему имени "SESSION.TEMP2" типа "DECLARED TEMPORARY TABLE". SQLSTATE=42710 если делаешь так drop table session.temp2 то пишет SQL0204N Имя "SESSION.TEMP2" не было определено. SQLSTATE=42704 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 14:32 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Внутри процедуры делайте (ну, и перед компиляцией процедуры тоже) declare global temporary table session.temp2(g01a varchar(4), g33a varchar(9), g15_17 varchar(3), s15_17 varchar(3), g41 varchar(3), g31b integer, g46 decimal(15,2), g54d date) with replace ; А вообще, по-моему нижеследующий селект возвратит то, что вы делаете в процедуре: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 15:32 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
еще вопрос: имеется др процедура res2 в которой нужно вызвать процедуру temp2 create procedure res2() result set 1 language sql begin declare vr_per decimal; declare vr_g33a_4 varchar(4); declare vr_groupkod integer; declare vr_count_countrygroup integer; declare vr_coun_country integer; declare vr_count_4 integer; declare vr_count integer; call temp2('2006-01-01','2006-12-31');.... SQL0204N Имя "SESSION.TEMP2" не было определено. LINE NUMBER=13. SQLSTATE=42704 хотя она создана db2 => call temp2('2006-01-01','2006-12-31') Набор результатов 1 -------------- G01A G33A G15_17 S15_17 G41 G31B G46 G54D ---- --------- ------ ------ --- ----------- ----------------- ---------- ИМ 841122110 643 643 796 9 306,00 ИМ 860630000 804 804 796 14 476,00 ИМ 870322909 784 784 796 1 10,93 ИМ 870323192 643 643 796 10 99,40 ИМ 870324109 276 784 796 1 41,00 ИМ 870324109 276 784 796 1 28,00 ИМ 870323192 250 784 796 1 10,00 в скрипте процедуры temp2 поменял declare global temporary table session.temp2(g01a varchar(4), g33a varchar(9), g15_17 varchar(3), s15_17 varchar(3), g41 varchar(3), g31b integer, g46 decimal(15,2), g54d date) with replace; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 10:05 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Такого не должно быть. Вот пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Обе будут работать без ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 10:42 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
не пойму почему у меня не получается... если делаешь так : declare global temporary table session.temp3 (id integer, g01a varchar(4), g33a varchar(9), g15_17 varchar(3), s15_17 varchar(3), g41 varchar(3), g31b integer, g46 decimal(15,2), g54d date) with replace@ create procedure temp3(in dat date,in data date) result set 1 language sql begin declare vr_sum decimal(15,2); declare vr_g33a char(4); declare vr_summa decimal(15,2); declare vr_count smallint; declare SQL_CMD varchar(100); declare myCursor1 cursor with return for select char(g33a,4), sum(g46) from t_st2006 where g01a='ИМ' and g54d between dat and data group by char(g33a,4) order by char(g33a,4); declare myCursor cursor with return for s1; declare global temporary table session.temp3(g01a varchar(4), g33a varchar(9), g15_17 varchar(3), s15_17 varchar(3), g41 varchar(3), g31b integer, g46 decimal(15,2), g54d date) with replace; select count(distinct char(g33a,4)) into vr_count from t_st2006 where char(g33a,4)=any(select char(g33a,4) from t_st2006 where g01a='ИМ' and g54d between dat and data group by char(g33a,4)); select sum(g46) into vr_summa from t_st2006 where g01a='ИМ' and g54d between dat and data; set vr_summa=(vr_summa*5)/100; open myCursor1; while vr_count<>0 do set vr_count=vr_count-1; fetch myCursor1 into vr_g33a, vr_sum; if vr_sum>=vr_summa then insert into session.temp3(g01a, g33a, g15_17, s15_17, g41, g31b, g46, g54d) select g01a, g33a, g15_17, s15_17, g41, g31b, g46, g54d from t_st2006 where char(g33a, 4)=vr_g33a and g54d between dat and data and g01a='ИМ'; end if; end while; close myCursor1; set SQL_CMD='select * from session.temp3'; prepare s1 from SQL_CMD; open myCursor; end @ то все ок результат - заполненная таблица , а если вызываю эту поцедуру call temp3('2006-01-01', '2006-12-31'); в другой процедуре res1 и работаю с таблицей session.temp3 то результат res1 пуст?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 09:32 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Такого не должно быть. Вот пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. В ses_test2 вызывается ses_test и после вызова обращается к session.t ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 11:30 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
не получается (( пишет что Имя "SESSION.TEMP3" не было определено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 13:59 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Тимур Бне получается (( пишет что Имя "SESSION.TEMP3" не было определено.Напишите текст процедуры temp3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 14:08 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
drop procedure temp3@ create procedure temp3(in prev date,in cur date) result set 1 language sql begin declare vr_sum decimal(15,2); declare vr_g33a char(4); declare vr_summa decimal(15,2); declare vr_count smallint; declare SQL_CMD varchar(100); declare myCursor1 cursor with return for select char(g33a,4), sum(g46) from t_st2006 where g01a='ИМ' and g54d between prev and cur group by char(g33a,4) order by char(g33a,4); declare myCursor cursor with return for s1; declare global temporary table session.temp3(g01a varchar(4), g33a varchar(9), g15_17 varchar(3), s15_17 varchar(3), g41 varchar(3), g31b integer, g46 decimal(15,2), g54d date) with replace; select count(distinct char(g33a,4)) into vr_count from t_st2006 where char(g33a,4)=any(select char(g33a,4) from t_st2006 where g01a='ИМ' and g54d between prev and cur group by char(g33a,4)); select sum(g46) into vr_summa from t_st2006 where g01a='ИМ' and g54d between prev and cur; set vr_summa=(vr_summa*5)/100; open myCursor1; while vr_count<>0 do set vr_count=vr_count-1; fetch myCursor1 into vr_g33a, vr_sum; if vr_sum>=vr_summa then insert into session.temp3(g01a, g33a, g15_17, s15_17, g41, g31b, g46, g54d) select g01a, g33a, g15_17, s15_17, g41, g31b, g46, g54d from t_st2006 where char(g33a, 4)=vr_g33a and g54d between prev and cur and g01a='ИМ'; end if; end while; close myCursor1; set SQL_CMD='select * from session.temp3'; prepare s1 from SQL_CMD; open myCursor; end @ вызов делаю так: drop procedure res1@ create procedure res1(in prev date, cur date) result set 1 language sql begin declare vr_g33a_4 varchar(4); declare vr_groupkod integer; declare vr_count_countrygroup integer; declare vr_coun_country integer; declare vr_count_4 integer; declare vr_count integer; declare vr_per decimal(15,2); declare cursor_4_cur cursor for select distinct(char(g33a,4)) from session.temp3 order by char(g33a,4); call temp3(prev, cur); это все в одном текстовом файле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 14:23 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Вы привели не полный текст res1. И на какой команде ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 14:57 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
drop procedure res1@ create procedure res1(in prev date, cur date) result set 1 language sql begin declare vr_g33a_4 varchar(4); declare vr_groupkod integer; declare vr_count_countrygroup integer; declare vr_coun_country integer; declare vr_count_4 integer; declare vr_count integer; declare vr_per decimal(15,2); declare cursor_4_cur cursor for select distinct(char(g33a,4)) from session.temp3 order by char(g33a,4); call session.temp3(prev, cur); insert into session.temp2(g33a, s15_17, g41, g31b, g46, g54d)(select g33a, s15_17, g41, g31b, g46, g54d from t_st2005 where char(g33a,4)=any(select distinct(char(g33a,4)) from session.temp3) and s15_17=any(select s15_17 from session.temp3)); insert into res1(name,cost, cost_2)(select 'Всего:', sum(session.temp2.g46), sum(session.temp3.g46) from session.temp2 full join session.temp3 on session.temp2.id=session.temp3.id); open cursor_4_cur; select count(distinct(char(g33a,4))) into vr_count_4 from session.temp3 ; insert into res1 (name) values (null); while vr_count_4<>0 do set vr_count_countrygroup=2; fetch cursor_4_cur into vr_g33a_4; insert into res1 (name) (select char(t.g33a,4) ||' '|| tn.name from tnvedgroup tn, session.temp3 t where char(t.g33a,4)=tn.id || tn.sub_id and char(t.g33a,4)=vr_g33a_4 group by char(t.g33a,4) ||' '||tn.name); insert into res1 (name, count, cost, count_2, cost_2) (select 'Всего:', sum(session.temp2.g31b), sum(session.temp2.g46), sum(session.temp3.g31b), sum(session.temp3.g46) from session.temp3 full join session.temp2 on session.temp2.id=session.temp3.id where (char(session.temp2.g33a,4)=vr_g33a_4 or char(session.temp3.g33a,4)=vr_g33a_4)); select sum(g46)*0.05 into vr_per from session.temp3 where char(g33a,4)=vr_g33a_4; set vr_groupkod=14; while vr_count_countrygroup<>0 do insert into res1 (name, count, cost, count_2, cost_2) (select cg.groupname, sum(session.temp2.g31b), sum(session.temp2.g46), sum(session.temp3.g31b), sum(session.temp3.g46) from countrygroup cg, session.temp2 full join session.temp3 on session.temp2.id=session.temp3.id where cg.groupkod=vr_groupkod and (char(session.temp3.g33a,4)=vr_g33a_4 or char(session.temp2.g33a,4)=vr_g33a_4) and (session.temp3.s15_17=any(select cntkod from countrygroupdef where groupkod=vr_groupkod) or session.temp2.s15_17=any(select cntkod from countrygroupdef where groupkod=vr_groupkod)) group by cg.groupname); insert into dop1(select s15_17, sum(g46), sum(g31b) from session.temp2 where char(g33a,4)=vr_g33a_4 and s15_17=any(select cntkod from countrygroupdef where groupkod=vr_groupkod) group by s15_17); insert into dop2(select s15_17, sum(g46), sum(g31b) from session.temp3 where char(g33a,4)=vr_g33a_4 and s15_17=any(select cntkod from countrygroupdef where groupkod=vr_groupkod) group by s15_17); insert into dop1_2(select dop1.id, dop2.id, dop1.summa, dop2.summa, dop1.count, dop2.count from dop1 full join dop2 on dop1.id=dop2.id); update dop1_2 set s15_17=g15_17 where s15_17 is null; insert into res1 (name, cost, cost_2, count, count_2) (select c.small_name, r.summa1, r.summa2, r.count, r.count2 from country c, dop1_2 r where c.id=r.s15_17 and r.summa2>vr_per and r.s15_17=any(select cntkod from countrygroupdef where groupkod=vr_groupkod)); delete from dop1_2 where summa2>vr_per and s15_17=any(select cntkod from countrygroupdef where groupkod=vr_groupkod); insert into res1 (name, cost, cost_2, count, count_2) (select 'Прочие ' || cg.groupname, sum(r.summa1), sum(r.summa2), sum(r.count), sum(r.count2) from countrygroup cg, dop1_2 r where cg.groupkod=vr_groupkod and s15_17=any(select cntkod from countrygroupdef where groupkod=vr_groupkod) group by 'Прочие ' || cg.groupname ); delete from dop1; delete from dop2; delete from dop1_2; set vr_count_countrygroup=vr_count_countrygroup-1; set vr_groupkod=vr_groupkod-12; end while; set vr_count_4=vr_count_4-1; end while; insert into res1 (name, count, cost) values (null,null,null); insert into res1 (name, count, cost) values (null,null,null); close cursor_4_cur; --delete from session.temp2; --delete from session.temp3; update res1 set prots_k_itogu=(cost_2/cost)*100; end@ ошибка Имя "SESSION.TEMP3" не было определено. LINE NUMBER=15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 15:24 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Это вы сильно задвинули: call session .temp3(prev, cur); Ваша процедура temp3 имеет другое имя схемы, она не может иметь имя схемы session . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 15:40 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinЭто вы сильно задвинули: call session .temp3(prev, cur); Ваша процедура temp3 имеет другое имя схемы, она не может иметь имя схемы session . нет это я забыл поправить сори ;) call temp3 ошибка таже SQL0204N Имя "SESSION.TEMP3" не было определено. LINE NUMBER=15. SQLSTATE=42704 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 15:59 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Ошибка при компиляции или после call res1? Фикспак какой у вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 16:10 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
да ошибка при компиляции db2v8.2 фикспак11 кажется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 16:23 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
А в этой же сессии перед компиляцией процедуры вы делаете declare global temporary table session.temp2... declare global temporary table session.temp3... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 16:38 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinА в этой же сессии перед компиляцией процедуры вы делаете declare global temporary table session.temp2... declare global temporary table session.temp3... ? в этой же сессии перед drop procedure res1@ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2007, 15:55 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
С ошибкой разобрался но на выходе все еще пусто :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2007, 07:41 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Спасибо все отлично получилось .Моя невнимательность была всему виной! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2007, 09:16 |
|
||
|
просмотр данных во временной табл
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. Кое-как разобрался как тут работать с курсорами и вроде понял как получить и вернуть нужный НД. Процедура компилируется без ошибок, но когда запускаешь выходит ошибка: автор get_accounts_info - Информация запуска была изменена. DB2ADMIN.GET_ACCOUNTS_INFO - Выполнение запущено. Данные, возвращаемые в наборах результатов, ограничиваются первыми 100 строками. Данные, возвращаемые в столбцах наборов результатов, ограничиваются первыми 20 байтами (символами). DB2ADMIN.GET_ACCOUNTS_INFO - Исключительная ситуация при выполнении: Ошибка менеджера баз данных.[IBM][CLI Driver][DB2/NT] SQL0204N Имя "DB2ADMIN" не было определено. SQLSTATE=42704 DB2ADMIN.GET_ACCOUNTS_INFO - Откат успешно выполнен. DB2ADMIN.GET_ACCOUNTS_INFO - Ошибка выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2008, 13:42 |
|
||
|
|

start [/forum/topic.php?all=1&fid=43&tid=1604043]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 411ms |

| 0 / 0 |
