Получение результатов процедуры через select. Проблема

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
autotester2
Сообщения: 2
Зарегистрирован: 09 июн 2006, 11:24

Получение результатов процедуры через select. Проблема

Сообщение autotester2 » 09 июн 2006, 11:27

1.
Господа, подскажите пожалуйста почему в IBConsole при выполнении select из любой процедуры
select * from test

CREATE PROCEDURE TEST
RETURNS
(
N INTEGER
)
AS
begin
N=23;
end

выкидывает ошибку "Unknown Error - Can't retrieve plan." Заранее благодарен.

2.
И еще простите за чайниковский вопрос: после создания ХП смотрю ее текст в базе, текст начинается и заканчивается командой commit work. Получается перед стартом процедуры все изменения транзакции сохранятся и после выполнения? Если это так, то как от них избавится, если мне например нужно выполнить несколько процедур а потом уже по результату выполнения решить коммитить или нет. Или я чего путаю?

Ivan_Pisarevsky
Заслуженный разработчик
Сообщения: 644
Зарегистрирован: 15 фев 2005, 11:34

Сообщение Ivan_Pisarevsky » 09 июн 2006, 12:06

Выкиннь ибконсоль. В ибэкперте даже такая бесполезная процедура спокойно отрабатывается без ошибок, разумееется возвращает пустой набор данных, потому как нет ни одного suspend-a. Suspend дядя добавит в процедуру?

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 09 июн 2006, 12:09

Во-первых, выкинь сие консольное глюкало и возьми IBExpert или SQL Hammer. Во-вторых, из такой процедуры можно селектить до посинения и ничего не получишь. Чти доку. В-третьих, смотришь не текст процедуры, а текст скрипта. Про путаешь тебе уже сказали.

Ответить