![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка запроса [D6, IB6.x]
MVVD © (2003-09-25 17:06:00)
Программа Вываливается при обработке запроса:
Select * From Tabl1
Where KID="03VVПППП"
Zacho (2003-09-26 15:48:00) [1]
> MVVD (25.09.03 18:50) [26]
Могу предположить - порушился индекс на поле KID. Черезвычайно редко, но бывает. А при запросе Sandman25 © (25.09.03 18:40) [20] индекс не используется
MVVD (2003-09-25 18:50:00) [2]
Вот и мне интересно. Спасибо за участие.
Sandman25 (2003-09-25 18:49:00) [3]
[24] MVVD (25.09.03 18:47)
Отлично! Это же твой исходный запрос. Выход найден.
Правда, все-таки интересно, в чем проблема с исходным запросом...
MVVD (2003-09-25 18:47:00) [4]
Sandman25 Извини, твой запрос тоже выполняется
Sandman25 (2003-09-25 18:46:00) [5]
Ложное условие, которое никогда не срабатывает.
Если у Вас не работает
Select * From plan1
Where KID="03VVПППП"
но работает
Select * From PLAN1
Where TIP="03VVПППП" or KID="03VVПППП"
то нужно привести первый запрос к виду, похожему на второй.
MVVD (2003-09-25 18:44:00) [6]
Что значит 0=1 ?
Sandman25 (2003-09-25 18:40:00) [7]
В смысле
Select * From PLAN1
Where 0=1 or KID="03VVПППП"
Sandman25 (2003-09-25 18:40:00) [8]
[19] MVVD (25.09.03 18:37)
Ужас...
А
Select * From PLAN1тоже работает?
Where 1=1 or KID="03VVПППП"
MVVD (2003-09-25 18:37:00) [9]
Программа работает также при обработке запроса:
Select * From PLAN1
Where TIP="03VVПППП" or KID="03VVПППП"
Johnmen (2003-09-25 18:37:00) [10]
Я обломился...:)
MVVD (2003-09-25 18:29:00) [11]
Поля DOGOVOR и TIP работают нормально
Sandman25 (2003-09-25 18:27:00) [12]
Кстати, а есть ли смысл использовать VARCHAR(1)? Разве CHAR(1) не эффективнее?
Johnmen (2003-09-25 18:25:00) [13]
Попробуй тот же запрос, но для полей, например, DOGOVORи TIP.
Каков результат ?
Sandman25 (2003-09-25 18:23:00) [14]
[13] MVVD (25.09.03 18:21)
Тогда я Вам не смогу помочь. Они же только размером отличаются, какой-то баг пролучается.
MVVD (2003-09-25 18:21:00) [15]
CL в примере - это CLIENT
Плохиш_ (2003-09-25 18:19:00) [16]
Ну, и что такое CL?
Sandman25 (2003-09-25 18:17:00) [17]
Здесь нет поля CL
MVVD (2003-09-25 18:10:00) [18]
/* Table: PLAN1, Owner: SYSDBA */
CREATE TABLE PLAN1 (KID VARCHAR(20) CHARACTER SET WIN1251 NOT NULL,
NUM DOUBLE PRECISION NOT NULL,
Y VARCHAR(10) CHARACTER SET WIN1251 NOT NULL,
DATAPOL DATE NOT NULL,
DATAOPL DATE NOT NULL,
S DOUBLE PRECISION NOT NULL,
T DOUBLE PRECISION NOT NULL,
I DOUBLE PRECISION NOT NULL,
SUMMA DOUBLE PRECISION NOT NULL,
DATA DATE NOT NULL,
CLIENT VARCHAR(18) CHARACTER SET WIN1251 NOT NULL,
N DOUBLE PRECISION,
DOGOVOR VARCHAR(18) CHARACTER SET WIN1251,
DDATA DATE NOT NULL,
TIP VARCHAR(10) CHARACTER SET WIN1251,
R DOUBLE PRECISION,
DOKPOL VARCHAR(20) CHARACTER SET WIN1251,
DOKOPL VARCHAR(20) CHARACTER SET WIN1251,
SCHET VARCHAR(98) CHARACTER SET WIN1251,
INFO VARCHAR(80) CHARACTER SET WIN1251,
A VARCHAR(1) CHARACTER SET WIN1251,
USEROPEN VARCHAR(20) CHARACTER SET WIN1251,
USERCLOSE VARCHAR(20) CHARACTER SET WIN1251,
OPENDATE DATE,
CLOSEDATE DATE,
COUN_ DOUBLE PRECISION,
PART DOUBLE PRECISION,
D VARCHAR(25) CHARACTER SET WIN1251,
K VARCHAR(25) CHARACTER SET WIN1251,
O VARCHAR(70) CHARACTER SET WIN1251,
BEZNAL DOUBLE PRECISION,
NALOG DOUBLE PRECISION,
VGNI DOUBLE PRECISION,
PLATEL VARCHAR(10) CHARACTER SET WIN1251,
OKRUGL DOUBLE PRECISION,
CIC DOUBLE PRECISION,
PAGE1 VARCHAR(80) CHARACTER SET WIN1251,
PAGE2 VARCHAR(80) CHARACTER SET WIN1251,
PAGE3 VARCHAR(80) CHARACTER SET WIN1251,
PAGE4 VARCHAR(80) CHARACTER SET WIN1251,
N1 DOUBLE PRECISION,
N2 DOUBLE PRECISION,
N3 DOUBLE PRECISION,
N4 DOUBLE PRECISION,
N5 DOUBLE PRECISION,
N6 DOUBLE PRECISION,
N7 DOUBLE PRECISION,
N8 DOUBLE PRECISION,
N9 DOUBLE PRECISION,
N10 DOUBLE PRECISION,
DATE1 DATE,
DATE2 DATE,
DATE3 DATE,
DATE4 DATE,
W1 DOUBLE PRECISION,
W2 DOUBLE PRECISION,
W3 DOUBLE PRECISION,
W4 DOUBLE PRECISION,
W5 DOUBLE PRECISION,
W6 DOUBLE PRECISION,
W7 DOUBLE PRECISION,
W8 DOUBLE PRECISION,
W9 DOUBLE PRECISION,
W10 DOUBLE PRECISION,
IDNAME VARCHAR(14) CHARACTER SET WIN1251,
IDDATE DATE,
IDTIME VARCHAR(8) CHARACTER SET WIN1251,
IDRIGHTS VARCHAR(8) CHARACTER SET WIN1251,
CRF VARCHAR(1) CHARACTER SET WIN1251 DEFAULT "R"
,
KIDO DOUBLE PRECISION DEFAULT 0
,
CONSTRAINT PLAN1PRIMARYKEY1 PRIMARY KEY (KID, NUM, Y, DATAPOL, DATAOPL, S, T, I, SUMMA, DATA, CLIENT, DDATA));
Sandman25 (2003-09-25 18:07:00) [19]
Может, там COLLATE разный?
Johnmen (2003-09-25 18:03:00) [20]
Метаданные для Tabl1 ?