|
|
|
В чем грабли с ХП ??
|
|||
|---|---|---|---|
|
#18+
Вот пытаюсь создать ХП: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. А оно мне : Dynamic SQL Error SQL error code = -104 Token unknown - line 7, char 40 ; Statement: CREATE PROCEDURE getDogovor (id decimal) AS BEGIN IF (:id=0) THEN BEGIN SELECT * FROM dogovor d INNER JOIN postavshik p ON d.id_postav=p.id INNER JOIN tovar t ON d.id_tovara=t.id; END ELSE BEGIN select * from dogovor d inner join postavshik p on d.id_postav=p.id inner join tovar t on d.id_tovara=t.id where id=:id; END END С чего бы это ??? Или в интербейс нельзя набор записей возвращать ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2002, 22:29 |
|
||
|
В чем грабли с ХП ??
|
|||
|---|---|---|---|
|
#18+
Точно не уверен, то мне так кажется, что эта ХП должа возвращать какие-то данные, а как !?!?!? Как я понимаю должна быть конструкция : create procedure GetDogovor(id integer) returns (OUT_ID integer, OUT_NAME varchar(20), OUT_DATE date) as begin select id, name, date from table where id=:id into :OUT_ID, :OUT_NAME, :OUT_DATE; suspend; end; может в suspend; прикол, а может то что не указывается во что выбирать ... попробуй, может поможет... сорри, если в чем-то был не прав ... alubetsky@mail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2002, 08:40 |
|
||
|
В чем грабли с ХП ??
|
|||
|---|---|---|---|
|
#18+
В процедуре, по крайней мере, должна быть конструкция into Select * from Dogovor Into :Field1, :Field2 и т.д. Число полей (Field ) должно быть равно числу полей в таблице Dogovor (т.к. ты написал Select *). Так же должна присутствовать конструкция Returns(...), где должны быть описаны эти поля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2002, 20:06 |
|
||
|
В чем грабли с ХП ??
|
|||
|---|---|---|---|
|
#18+
Выходит что с ХП нельзя полуцчить набор данных, тоесть несколько записей ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2002, 14:25 |
|
||
|
В чем грабли с ХП ??
|
|||
|---|---|---|---|
|
#18+
По чему же нельзя? Ты скорее всего неправильно понял. Во-первых посмотри хп в демонстрационных базах(employe.gdb,customer.gdb) Ну вот пример простой хп. CREATE PROCEDURE SELECT_FIRMS RETURNS ( FirmId Integer, FIRMNAME VARCHAR(120)) AS BEGIN FOR SELECT OKEY, FIRMNAME, FROM FIRMS INTO :FirmId, :FIRMNAME, DO BEGIN SUSPEND; END END ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2002, 15:16 |
|
||
|
В чем грабли с ХП ??
|
|||
|---|---|---|---|
|
#18+
Привет !!! еще раз ... Радуйся !!! Вот в IB как раз таки можно вернуть набор строк, а вот в Oracle нет !!! :(. Сейчас пишу под Oracle, сталкнулся с таким приколом !!! :(( в IB и MS SQL можно вернуть набор строк, так всем любителям этих СУБД, пользуясь случаем, привет :)) !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2002, 15:40 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32084428&tid=1580977]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 212ms |
| total: | 375ms |

| 0 / 0 |
