Форум: "Базы";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];
Внизгляньте, что тут не так? Найти похожие ветки
← →
stud (2003-10-10 15:46) [0]
begin
temp_date=:F_DATE;
temp_time=:F_TIME;
while (temp_date<=:t_date) do
begin
while (temp_time<=:t_time) do
begin
insert into RASPISANIE_VR (ID,DATEPR,TIMEPR,KOD_VR)
VALUES(gen_id(NEW_RASP,1),:TEMP_DATE,:TEMP_TIME,:KOD_VR);
temp_time=:TEMP_TIME+:timeslot;
end
temp_date=:TEMP_DATE+7;
end
end
ошибка такая
Overflow occurred during data type conversion.
conversion error from string "37907".
это параметры f_date и temp_date типа integer
что тут может быть не так, при изменении типа на double precision тоже самое
← →
Delirium^.Tremens (2003-10-10 15:53) [1]stack overflow.
timeslot отрицательный или равен 0 (например)
← →
Delirium^.Tremens (2003-10-10 15:53) [2]stack overflow.
timeslot отрицательный или равен 0 (например)
← →
Delirium^.Tremens (2003-10-10 15:55) [3]Пардон! Это при преобразовании типов.
Ошибка с связанная с decimal separator
← →
stud (2003-10-10 16:00) [4]похоже, но параметр - целого типа передаю значение тоже целого типа и вот такая ерунда
← →
Delirium^.Tremens (2003-10-10 16:09) [5]
> stud © (10.10.03 16:00) [4]
Что целого типа? Дата и время???
← →
stud (2003-10-10 16:15) [6]при чем тут и при чем тут время, какая разница как названы параметры!)))) я же говорю что тип целый!
← →
Johnmen (2003-10-10 16:36) [7]temp_time=TEMP_TIME+timeslot;
temp_date=TEMP_DATE+7;
← →
stud (2003-10-10 16:47) [8]тоже самое!
по ошибке выходит,что виновато или f_date или temp_date но почему....
← →
stud (2003-10-10 16:47) [9]тоже самое!
по ошибке выходит,что виновато или f_date или temp_date но почему....
← →
Johnmen (2003-10-10 16:53) [10]Структуру таблицы и описание переменных процедуры в....:)
Студию !
А вы куда подумали ? :)
← →
stud (2003-10-10 16:55) [11]сейчас
SET TERM ^ ;
ALTER PROCEDURE NEW_RASPPISANIE (
T_TIME DOUBLE PRECISION,
F_TIME DOUBLE PRECISION,
KOD_VR INTEGER,
TIMESLOT DOUBLE PRECISION,
F_DATE INTEGER,
T_DATE INTEGER)
AS
DECLARE VARIABLE TEMP_DATE INTEGER;
DECLARE VARIABLE TEMP_TIME DOUBLE PRECISION;
begin
TEMP_DATE=CAST(:F_DATE AS INTEGER);
TEMP_TIME=:F_TIME;
while (TEMP_DATE<=:t_date) do
begin
while (TEMP_TIME<=:t_time) do
begin
insert into RASPISANIE_VR (ID,DATEPR,TIMEPR,KOD_VR)
VALUES(gen_id(NEW_RASP,1),:TEMP_DATE,:TEMP_TIME,:KOD_VR);
TEMP_TIME=TEMP_TIME+:TIMESLOT;
end
TEMP_DATE=TEMP_DATE+7;
end
end
^
SET TERM ; ^
это процедура)))
CREATE TABLE RASPISANIE_VR (
ID INTEGER NOT NULL,
DATEPR DATE,
TIMEPR TIME,
KOD_VR INTEGER,
KAB INTEGER,
KL INTEGER,
K_USL INTEGER,
NT TIME
);
это таблица. делал в запросе приведение типов к дате и времени все равно не работает, но в ибэксперте в режиме трассировки все работает. или он к табоице не обращается?
← →
Johnmen (2003-10-10 17:04) [12]Первая строка процедуры бессмысленна...:)
Ну и вот, пытаешься полю типа DATE присвоить значение типа DOUBLE PRECISION !!!!!!!!!!
См.документацию. Преобразование типов.
← →
stud (2003-10-10 17:07) [13]ну не дабл и интегер DECLARE VARIABLE TEMP_DATE INTEGER;
это время - дабл
а если делаю cast(:temp_date as date) в insert результат тотже.
← →
stud (2003-10-10 17:24) [14]а первая строка это уже метод научного тыка работает вовсю))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c