Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как из SELECT-а обратиться к хранимой процедуре? [D6, IB6.x]


Zn ©   (2003-10-17 18:40:00) 

Никак не могу сделать
SELECT StorProc("01.10.2003","1102","1") FROM StorProc
Ругается на ошибку на первый параметр (типа DATA).
Или может синтаксис обращения неправильный?


aVast   (2003-10-21 09:57:00) [1]

to Zacho © (21.10.03 08:40)
> Неверный тип параметра.

Parameter mismatch - эте не неверный тип параметра, это неверное количество параметров.

to Zn (20.10.03 13:22)
ты привел текст процедуры, я тебе показал как к ней обратится. Через IBExpert такой синтаксис работает.


Zacho   (2003-10-21 08:40:00) [2]


> Zn (20.10.03 12:57) [12]
>
> Т.е., и SELECT в процедуре не может обратиться к процедуре?

Может.

> Zn (20.10.03 11:44) [5]
> SQL Builder выдаёт такое:
> Unsuccessful execution caused by a system error that precludes
> successful execution of subsequent statement. Dynamic SQL
> error. Parameter mismatch for procedure DEN_SHOT_GR5.

Неверный тип параметра.
Приведи все-таки реальный неработающий запрос и сообщение об ошибке еще раз, и все полностью.


Zn   (2003-10-20 15:02:00) [3]


> 1)что значит, в самом interbase?

В IBExpert или IBConsole.


Alexandr   (2003-10-20 14:15:00) [4]

1)что значит, в самом interbase?
2)выкинь SQL builder и пиши руками.
чет путанно как-то ты вопросы задаешь.


Zn   (2003-10-20 13:22:00) [5]


> aVast © (20.10.03 13:11) [14]

Не смотри на начало. То был пример.
А я так и делаю. Просто через BDE из Delphi это работает. А в самом InterBase не хочет.


aVast   (2003-10-20 13:11:00) [6]

sorry...
видимо так
select * from DEN_SHOT_GR5 ("1")


aVast   (2003-10-20 13:09:00) [7]

У тебя в процедуре только один входящий параметр, а посему надо писать
select * from DEN_SHOT_GR5 ("01.10.2003")


Zn   (2003-10-20 12:57:00) [8]


> Alexandr © (20.10.03 12:32) [10]
> 1) вью по процедуре не канает.

Т.е., и SELECT в процедуре не может обратиться к процедуре?
Тогда, наверное, нужно решать по-другому...


Zn   (2003-10-20 12:47:00) [9]

Процедура такая (я урезал до минимума):
CREATE PROCEDURE DEN_SHOT_GR5 (
GR11 VARCHAR(1))
RETURNS (
SHOT VARCHAR(8),
T060 NUMERIC(15,2))
AS
BEGIN
FOR
SELECT ft.kod, FT.T060/100
FROM FT
WHERE
(
(FT.GR = :GR11)
)
INTO :SHOT, :T060
DO
BEGIN
SUSPEND;
END
END

А запрос SELECT * FROM DEN_SHOT_GR5("1").
Повторю, что из TQuery всё отлично работает. Мне просто несколько таких процедур нужно вставить в другую ХП (там довольно сложный SELECT по ним). Пробую такой SELECT сделать SQL Builder"ом в IBExpert, но вот ничего не выходит.


Alexandr   (2003-10-20 12:32:00) [10]

1) вью по процедуре не канает.
2) приведи шапку процедуры и запрос, который не проходит


Johnmen   (2003-10-20 12:29:00) [11]

Осталось посмотреть на процедуру...


Zn   (2003-10-20 12:14:00) [12]


> Vlad © (20.10.03 11:48) [7]

Уже пробовал. SELECT прогсто не видит StorProc.
Чувствую, тут что-то с InterBase, но что - не пойму.


Vlad   (2003-10-20 11:48:00) [13]

Тогда может лучше так ?
SELECT * FROM StorProc("01.10.2003","1102","1")


Zn   (2003-10-20 11:46:00) [14]


> Vlad © (20.10.03 11:29) [3]



> А вобще смысл того что ты написал, если не секрет ?

Никакого секрета, 1-й параметр - дата, второй - вид платежа, третий - група банковского реестра.
Возвращает поступления по даному платежу за день.


Zn   (2003-10-20 11:44:00) [15]


> Johnmen © (20.10.03 11:30) [4]

SQL Builder выдаёт такое:
Unsuccessful execution caused by a system error that precludes successful execution of subsequent statement. Dynamic SQL error. Parameter mismatch for procedure DEN_SHOT_GR5.

Пробую сделать View с таким SELECT-ом, про компиляции пишет:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 6, char 18.
(.

Кстати, забыл сказать, я SELECT пишу в IBExpert, я его тоже хоче в ХП вставить. В TQuery у меня всё работало.


Johnmen   (2003-10-20 11:30:00) [16]

Полностью запрос и сообщение об ошибке ?


Vlad   (2003-10-20 11:29:00) [17]

cast("01.10.2003" as date)
А вобще смысл того что ты написал, если не секрет ?


Zn   (2003-10-20 11:23:00) [18]

Извините, что с такой задержкой.
У меня всё время ругается на открывающую скобку после имени процедуры, что-то типа Unknown table. Почему SELECT не видит ХП?


Cranium   (2003-10-17 19:11:00) [19]

Примерно так в скобках параметры ХП
SELECT *
FROM ID_GRUPS_VIEW (:PR_ID_GR)


Наверх

Титульная страница Поиск, карта сайта Написать письмо