Добрый день. Прошу помочь с запросом к базе.
Есть две таблицы channel, chvalue и хранимая роцедура insval для записи данных. Данные в базу поступают.
Пишу процедуру для чтения... В протоколе скады - произошла ошибка во время выполнения многостраничного запроса ...OLE DB
SQL> desc channel;
Имя Пусто? Тип
----------------------------------------- -------- ----------------------------
NAME NOT NULL VARCHAR2(512)
ID NOT NULL NUMBER(38)
TYPE NUMBER(38)
UNITS VARCHAR2(100)
NAME2 VARCHAR2(512)
SQL> desc chvalue;
Имя Пусто? Тип
----------------------------------------- -------- ----------------------------
ID_CHANNEL NUMBER(38)
VALMOMENT DATE
VALUE FLOAT(126)
----------------------------------------- -------- ----------------------------
CREATE OR REPLACE PROCEDURE insval (
in_name IN varchar,
in_moment in date,
in_value in float )
as
chid integer;
cnt integer;
begin
select count(id) into cnt from channel where channel.name = in_name;
if cnt=0 then
insert into channel (name) values (in_name);
select seq_channel.currval into chid from dual;
else
select id into chid from channel where channel.name = in_name;
end if;
insert into chvalue (id_channel, valmoment, value) values (chid, in_moment, in_value);
delete from chvalue where valmoment is null;
commit;
end;