|
|
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
Коллеги, пользуюсь Interbase 6 в первый раз. (Речь идет именно о Borland Interbase 6). Хочу cоздать ХП - аналог NVL() как в Oracle - но без наворотов с типизацией,только для типа TIMESTAMP (больше мне ничего не надо). Вот процедура: SET TERM !! ; CREATE PROCEDURE TMS_NVL(TMS_DEFAULT TIMESTAMP, TMS_ALTERNATE TIMESTAMP) RETURNS (RESULT TIMESTAMP) AS BEGIN IF (TMS_DEFAULT IS NULL ) THEN BEGIN RESULT = TMS_ALTERNATE; EXIT; END RESULT = TMS_DEFAULT; EXIT; END !! SET TERM ; !! Так вот, при выполнении (например) запроса select * from TMS_NVL(current_timestamp, current_timestamp) получаю сообщение: Unknown error Statement: select * from nvl(current_timestamp,current_timestamp ) Где именно я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 10:38 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
suspend вставлять не пробовал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 11:56 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
пробовал - вставлял SUSPEND вместо END (в двух местах) - тогда IB прокидывает то же сообещние о неизвестной ошибке (см. выше) но в отличие от предыдущего варианта c (двумя END) возвращает результат. Однако если первый параметр определить как NULL, а чторой как CURRENT_TIMESTAMP то процедура возвращает ДВА значения. То есть большого облегчения от SUSPEND нет - IB продолжает ругатся и возвращает странные значения. Коллеги, неужель никто не подскажет в чем кривизна этой ХП? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 12:19 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 12:40 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
попробовал - результат тот же самый: на запрос Код: plaintext выдает: Код: plaintext 1. Коллеги, неужели никто ничего не может подсказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 13:02 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
IB6 был довольно глюкавым. Бери FB. Никто ж не будет себе специально ставить это старьё, чтоб посмотреть, что происходит. Я ж уже давал тебе ссылки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 13:08 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
За ссыки на FB - спасибо, но приложение должно работать именно под IB 6.0 Если Interbase - глючный и бажый, то откуда на этом форуме такое количество примеров вызова ХП именно под IB? И почему тогда другие процедуры работают? Ладно, это лирика. Коллеги, кто из использующих IB 6.0 может помотреть несколько проклятых строчек кода и высказать конструктивное предположение почему именно они приводят к такому сообщению? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 13:26 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
Да будет тебе известно, что FB (как и Yaffil) основан на IB6 и есть его клон, только намного более доработанный, менее глючный и с расширенной функциональностью. Всё, что работало в IB, работает и в FB. К тому же FB бесплатный. Назови хоть одну причину, почему тебе подходит IB6 и не подходит FB1 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 14:03 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
И про клонов и про то, что они леченные хорошо известно. А назвать Вам причину - запросто: американский заказчик во всех поставках своей системы уже даквно использует IB6.0, поставок было много, и он понятное дело не хочет перелезать на что бы то ни было. Проще заставить ХП процедуру работать как надо или на крайний случай обработать ситуацию в коде вызвающего приложения чем перетаскивать на новое ПО сотни пользователей по всем Штатам. Итак, есть ли кто-либо кому хоть раз в своей жизни удалось выполнить select * from <хранимая_процедура> под IB6.0 , способный привести объяснения по которым вышеозначенная ХП не работает? (Orcale, MySQL, DB2 и клоны IB не в счет, равно как и другие СУБД) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 14:24 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
Тогда обратись на news://forums.demo.ru/epsylon.public.interbase Это самая компетентная конференция по IB. Не помогут там, значит не помогут, скорее всего, нигде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 14:34 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
В IBExpert: - cоздал процедуру от Gold (с языка снял :-) ) - select * from tms_nvl(current_timestamp,current_timestamp) выполняется на УРА. версия: WI-V 6.0.0.627 диалект: 3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 16:11 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
Ура! Cтало быть, IB Interactive SQL для отладки ХП совершенно непригоден и даже вреден. Спасибо Acue, спасибо Gold. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2003, 19:13 |
|
||
|
НЕ удается вызвать ХП из запроса
|
|||
|---|---|---|---|
|
#18+
Вот и неправда, использую только ISQL для IB6.0, без пробелем накатываются процедуры, и прочее... Запросы типа select * from myproc выполняются нормально, а если говорить об отладке, то ISQL процедуры и не отлаживает, и даже не позволяет их интерактивно создавать, но зато очень хорошо дает понимание базы и ее сути, для новичков это самое то... Про клонов не знаю, может и есть смысл, просто не пробовал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 07:51 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32160116&tid=1580521]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 449ms |

| 0 / 0 |
