|
|
|
Проблема в процедуре Select.
|
|||
|---|---|---|---|
|
#18+
Доброе время суток! Проблема. Делаю таблицу: CREATE TABLE TBL_NEW ( ID Integer, DATA DATE, MARKA CHAR(40) COLLATE PXW_CYRL, K_VO INTEGER, FROM_ CHAR(40) COLLATE PXW_CYRL, NUM_NAKL CHAR(6) COLLATE PXW_CYRL, WHO CHAR(40) COLLATE PXW_CYRL ); Делаю ХП: CREATE PROCEDURE SP_REPNEW ( ADATA1 DATE, ADATA2 DATE, AMARKA CHAR(40), AFROM CHAR(40), AWHO CHAR(40)) RETURNS ( RDATA DATE, RMARKA VARCHAR(40), RKVO INTEGER, RFROM VARCHAR(40), RNUMNAKL VARCHAR(10), RWHO VARCHAR(40)) AS BEGIN for select DATA, MARKA, K_VO, FROM_, NUM_NAKL, WHO from tbl_NEW where ((DATA between :aDAta1 and :aData2) and (upper(MARKA) like upper(:aMarka))) and ((upper(FROM_) like upper(:aFrom)) and (upper(WHO) like upper(:aWho))) order by DATA into :RDATA, :RMARKA, :RKVO, :RFROM, :RNUMNAKL, :RWHO do begin suspend; end END Запускаю ХП: exec SP_REPNEW ('01.11.2003', '20.11.2003', '%', '%', '%') выдаёт пустоту, хотя в таблице за этот период есть записи, а когда из where убираю всё начиная с первого and'а всё работает, ошибка в условии? НО ГДЕ? помогите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2003, 11:51 |
|
||
|
Проблема в процедуре Select.
|
|||
|---|---|---|---|
|
#18+
Мой Вам совет - попробуйте выполнять этот SELECT(который в ХП) просто по шагам, добавляя условия в WHERE, вместо параметров подставляя значения. Попросту прибегните к отладке. И ещё соображение - попробуйте SELECT UPPER(MARKA) FROM TBL_NEW Встроенный Upper может не работать, в DDL таблицы должно быть MARKA CHAR(40) character set WIN1251 collate WIN1251 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2003, 12:06 |
|
||
|
Проблема в процедуре Select.
|
|||
|---|---|---|---|
|
#18+
Да, забыл, база на Interbase 6.0. 2Могун: с Upper проблем нет - записи латинницей, и в других ХП upper - работает. А отлаживать пробовал, при "добавлении" нового and-условия ничего не возвращает. Прикол, если оставляю в where (DATA between :aDAta1 and :aData2) and (upper(MARKA) like upper(:aMarka)) и пишу параметром AMARKA="%%" выдаёт мне те MARKA, где 2 (!!) символа в поле (??) т.е. "%" воспринимается как "_". Я вот думаю может IB не может корректно рботать при char(40) в like? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2003, 13:21 |
|
||
|
Проблема в процедуре Select.
|
|||
|---|---|---|---|
|
#18+
Помогите!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 21:22 |
|
||
|
Проблема в процедуре Select.
|
|||
|---|---|---|---|
|
#18+
На первый взгляд, в параметрах ХП нужно везде поставить не Char, а VarChar. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 22:16 |
|
||
|
Проблема в процедуре Select.
|
|||
|---|---|---|---|
|
#18+
1) Никакого смысла в этой ХП в таком виде как она есть я не вижу. 2) Если память не изменяет, в IB6 была бага с ORDER BY внутри ХП. 3) Сам запрос будет неэффективным из-за UPPER В общем перепиши запрос без всяких процедур и выкинь этот IB6 и возьми хотя-бы FB1. В запросе если не всегда нужны все части учловия WHERE - можно перейти на FIBPlus и использовать там макросы для формирования нужных условий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2003, 12:48 |
|
||
|
Проблема в процедуре Select.
|
|||
|---|---|---|---|
|
#18+
Кстати говоря о переходах IB/FB - я конечно всё понимаю, но на самом то деле проблема совсем не простая, в ней мона выделить 2 главных момента : 1) Перенос баз - практически везде объемы&количество связей, наработок внутренних структур баз очень немаленькие, И зачастую эти базы real-time используются, поэтому даже замена версии одного продукта на более новую часто целая проблема. 2) Собственно FB и IB расходятся и будут расходится и дальше. И неправильно выбрав сейчас потом при изменении этого выбора проблемы будут всё больше и больше ( а потом появится общий стандарт к которому все перейдут :D ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 12:17 |
|
||
|
Проблема в процедуре Select.
|
|||
|---|---|---|---|
|
#18+
Но рассчитывать на это прямо сейчас несколько наивно) Поэтому выбор сейчас по-видимому делается на пару будущих лет и нефиг говорить бросай то бери сё) - не так это просто ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 12:20 |
|
||
|
Проблема в процедуре Select.
|
|||
|---|---|---|---|
|
#18+
Так FB1 это и есть IB6, в котором куча глюков исправлена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 12:30 |
|
||
|
Проблема в процедуре Select.
|
|||
|---|---|---|---|
|
#18+
1 и 6 это конечно хорошо, но сейчас то 1.5 и 7.1, которые уже не совсем одно и то же. Если они таки не разойдутся, то проблемы нет , но друг от друга они ж независимы, и не факт что станут о чем то в дальнейшем договариваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 12:38 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32330018&tid=1579544]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
202ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 552ms |

| 0 / 0 |
