![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание хранимой процедуры программно [D6, IB6.x]
Брат © (2004-11-04 10:36:00)Доброе утро!
Не получается создать хранимую процедуру. Запихиваю вот такой текст в IBQuery:
CREATE PROCEDURE MAKETABLE_4
(OBL CHAR(2),DT TIMESTAMP,BUDGET CHAR(1))
RETURNS (TW_RN CHAR(2),s1 NUMERIC(15,2)) AS BEGIN
FOR
SELECT TW_RN,sum(dif(code-13020100+gr-1,dif(code-13020300+gr-1,dif(code-13020400+gr-1,dif(code-13020500+gr-1,dif(code-13020100+ gr-7,dif(code-13020300+gr-7,dif(code-13020400+gr-7,dif(code-13020500+gr-7,0,-1*suma_vsogo*1.00),-1*suma_vsogo*1.00),-1*s uma_vsogo*1.00),-1*suma_vsogo*1.00),suma_vsogo*1.00),suma_vsogo*1.00),suma_vsogo*1.00),suma_vsogo*1.00)) as s1
FROM forms412,tera
WHERE (obl=:obl and dt=:dt and budget=:budget) and
((tera.sr_pg="00" or tera.tip="2") and tera.id_key=forms412.roshirenie) and
((code=13020100 and gr=1) or (code=13020300 and gr=1) or (code=13020400 and gr=1) or (code=13020500 and gr=1) or (code=13020100 and gr=7) or (code=13020300 and gr=7) or (code=13020400 and gr=7) or (code=13020500 and gr=7))
GROUP BY TW_RN
INTO :TW_RN,:s1
DO SUSPEND;
END
и выполняю ExecSQL. Выскакивает ошибка:
"SQL Error code = -104
Token unknown - line 11, char 4"
Хотя когда беру текст и выполняю на сервере - процедура создается без проблем(очевидно что проблема не в синтаксесе, ведь на сервере такая процедура создается и выполняется без проблем. Скорее всего проблема в IBQuery, но конкретно незнаю). Подскажите пожулайста в чем проблема и что делать и как с этим бороться.
Спасибо заранее
Брат (2004-11-04 16:22:00) [1]
> Johnmen © (04.11.04 15:32) [24]
> Какая ?
та же самая:
"SQL Error code = -104
Token unknown - line 11, char 4"
ставлю так в запросе:
tera.sr_pg=''00'' or tera.tip=''2''
в свойствах компонента:
IBQuery.ParamCheck:=False;
Johnmen (2004-11-04 15:45:00) [2]Список параметров пуст ?
Безtera.sr_pg=''00'' or tera.tip=''2''работает ?
Брат (2004-11-04 15:37:00) [3]
> Johnmen © (04.11.04 15:32) [24]
> Какая ?
та же самая:
"SQL Error code = -104
Token unknown - line 11, char 4"
ставлю так в запросе:
tera.sr_pg=''00'' or tera.tip=''2''
в свойствах компонента:
IBQuery.ParamCheck:=False;
Johnmen (2004-11-04 15:32:00) [4]Какая ?
Брат (2004-11-04 15:26:00) [5]
> Johnmen © (04.11.04 15:20) [22]
> >но все равно не работает
>
> Что это значит ?
это значит что все равно выдается ошибка
Johnmen (2004-11-04 15:20:00) [6]>но все равно не работает
Что это значит ?
Брат (2004-11-04 15:03:00) [7]
> Johnmen © (04.11.04 13:15) [20]
> Всем помогает, одному тебе - нет.
> В ком тогда дело ?
>
> И ещё раз, ЗАЧЕМ тебе IBScript ? Ты что, до сих пор веришь
> в волшебных фей ? При этом ничего про них не зная...
согласен, но пока другого выхода у меня нет, все то что ты предлагал я попробовал, но все равно не работает
с IBScript все хорошо работает
Johnmen (2004-11-04 13:15:00) [8]Всем помогает, одному тебе - нет.
В ком тогда дело ?
И ещё раз, ЗАЧЕМ тебе IBScript ? Ты что, до сих пор веришь в волшебных фей ? При этом ничего про них не зная...
Брат (2004-11-04 13:13:00) [9]
> Johnmen © (04.11.04 13:10) [18]
> IBQuery.ParamCheck:=False;
не помогает
но зато я нашел IBScript - счас буду пробовать :)
Johnmen (2004-11-04 13:10:00) [10]IBQuery.ParamCheck:=False;
Брат (2004-11-04 12:47:00) [11]^
Брат (2004-11-04 12:23:00) [12]
> Johnmen © (04.11.04 12:16) [15]
> >все равно не работает
>
> Это как ?
запихиваю этот текст в IBQuery.SQL.Text и
выполняю методом ExecSQL. Выскакивает ошибка:
"SQL Error code = -104
Token unknown - line 11, char 4"
я посмотрел символ 4 на строке 11 - это INTO
текст этот я выполняю в SQL Editor'e IBExpert'a - все работает замечательно
Johnmen (2004-11-04 12:16:00) [13]>все равно не работает
Это как ?
Брат (2004-11-04 12:11:00) [14]
> Johnmen © (04.11.04 11:58) [13]
> М-да... Трудно что-то объяснить человеку, который просто
> не читает ответов...:(
я в курсе что удвоенные
я поставил : ((tera.sr_pg=''00'' or tera.tip=''2'') and tera.id_key=forms412.roshirenie)
в итоге компилятор интерпретирует их как одинарные, это я знаю
все равно не работает
Johnmen (2004-11-04 11:58:00) [15]М-да... Трудно что-то объяснить человеку, который просто не читает ответов...:(
[8]
Брат (2004-11-04 11:50:00) [16]
> > Johnmen © (04.11.04 11:41) [10]
> > >где??? :)
> >
> > Э-э-э-э... Ау, в танке..
> > ((tera.sr_pg="00" or tera.tip="2") and tera.id_key=forms412.roshirenie)
>
> > and
неа не получается
я поставил : ((tera.sr_pg='00' or tera.tip='2') and tera.id_key=forms412.roshirenie)
та же ошибка и все та же проблема :(((
Брат (2004-11-04 11:47:00) [17]
> Johnmen © (04.11.04 11:41) [10]
> >где??? :)
>
> Э-э-э-э... Ау, в танке..
> ((tera.sr_pg="00" or tera.tip="2") and tera.id_key=forms412.roshirenie)
> and
понял счас попробую
> Ещё раз - ЗАЧЕМ тебе IBScript ???
если получится тогда конечно незачем :)
Johnmen (2004-11-04 11:41:00) [18]>где??? :)
Э-э-э-э... Ау, в танке..
((tera.sr_pg= "00 "or tera.tip= "2 ") and tera.id_key=forms412.roshirenie) and
Ещё раз - ЗАЧЕМ тебе IBScript ???
Брат (2004-11-04 11:26:00) [19]
> Johnmen ©
> А зачем тогда указаны ???
где??? :)
я вот нашел ссылку на
IBX Extras Kit (IBXtras) версия 6.01 для Delphi 6, где есть IBScript - http://www.delphiplus.org/borland.html
но отсюда не качается... может есть у кого?
Johnmen (2004-11-04 11:21:00) [20]>Брат
Зачем тебе IBScript ?
>ненужны там кавычки
А зачем тогда указаны ???
>Sergey_Masloff (04.11.04 11:15) [4]
Кавычки одинарные, но удвоенные...:)