|
Как отключить проверку синтаксиса для DW
|
|||
---|---|---|---|
#18+
Собственно, сабж. Кто что может подсказать? Опишу ситуацию для чего это потребовалось. Select содержит вызов функции, аргумент которой имеет тип INTEGER. При вызове в функцию передаётся разница двух дат (dtpay - :p_dt0), где dtpay - поле таблицы типа DATE (Oracle), p_dt0 - параметр типа DateTime (PB). Реальные значения и dtpay и :p_dt0 компоненты времени не содержат, т.е. их разница - целое число. Т.е. запрос корректный, через утилиты Oracle выполняется без проблем, а при сохранении Sql в редакторе dw выдаётся ошибка: ORA-01007 - несоответствие типа фактического аргумента его описанию. И соответственно запрос не сохраняется. Обошёл проблему редактированием запроса во внешнем редакторе и последующим импортом в PB. Но как-то это некрасиво, если потребуется менять запрос - опять только через внешний редактор. И попутный вопрос, как собственно PB проверяет синтаксис. Собственно понятно, что запрос отправляется на выполнение со значениями по умолчанию, или только препарируется, но хотелось бы знать точнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2009, 16:41 |
|
Как отключить проверку синтаксиса для DW
|
|||
---|---|---|---|
#18+
Да, забыл указать: PB 9.0.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2009, 16:43 |
|
Как отключить проверку синтаксиса для DW
|
|||
---|---|---|---|
#18+
Можно (или нужно) применить явное преобразование типа при задании параметра функции в SQL-select операторе Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2009, 19:20 |
|
Как отключить проверку синтаксиса для DW
|
|||
---|---|---|---|
#18+
Это же Oracle - следовательно не cast, a to_date(... Правильно советуют - менять тип внутри sql-выражения ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2009, 23:19 |
|
Как отключить проверку синтаксиса для DW
|
|||
---|---|---|---|
#18+
ZhV, Вот что получается при сохранении запроса в редакторе dw при использовании Cast: Код: plaintext
ORA-00932: inconsistent datatypes: expected NUMBER got INTERVAL ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2009, 15:29 |
|
Как отключить проверку синтаксиса для DW
|
|||
---|---|---|---|
#18+
Скорее всего, входной параметр определен не как datetime, а как date - поэтому компилятор не может определить какой ему считать интервал. Надо попробовать оба операнда из операции вычитания принудительно привести к режиму DateOnly - для этого есть отдельная функция Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2009, 20:15 |
|
Как отключить проверку синтаксиса для DW
|
|||
---|---|---|---|
#18+
А может у Вас тоже . ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2009, 00:09 |
|
|
start [/forum/topic.php?fid=15&fpage=31&tid=1336169]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 308ms |
total: | 444ms |
0 / 0 |