powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не компилирует ХП с инструкцией select
8 сообщений из 8, страница 1 из 1
Не компилирует ХП с инструкцией select
    #32382408
Mudd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня такой бок, в скрипте создаю такую ХП:
set term # ;
create procedure se_tovar (tn integer)
as
Begin
select * from postavshik where pn=(select pn from ptb where tn=:tn);
End#

и пишет
Token unknown, указывая на ";"

Инструкция select правильня, потому что без процедуры работает.
Помогите, курсовой завтра сдавать.
...
Рейтинг: 0 / 0
Не компилирует ХП с инструкцией select
    #32382430
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем тебе такой селект?
ты ведь что-то хочешь сделать с результатами селекта, так?
значит их, рехультаты, нужно куда-то положить.
например так:
Код: plaintext
1.
2.
3.
4.
5.
6.
create procedure se_tovar (tn integer) 
as 
declare variable temp integer;
Begin 
select first  1  id from postavshik where pn=(select pn from ptb where tn=:tn) into :temp; 
end

обрати внимание на следующие вещщи:
я описал переменную для хранения полученного селектом результата:
declare variable temp integer;
я сделал first 1 для того чтобы получить только 1 результат. иначе я могу получить набор данных и сгенерируется ошибка. затем я указал, какие конкретно поля я хочу получить(никогда не указывай *)
затем при помощи конструкции inyo я указал, куда следует поместить значение полей.

возможен еще следующий вариант

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create procedure se_tovar (tn integer) 
as 
declare variable temp integer;
declare variable nm varchar( 1000 );
Begin 
select id, name from postavshik where pn=(select pn from ptb where tn=:tn) into :temp, :nm do
begin
  /*do something/*
end 
exit;
end

в данном случае я выбираю весь набор данных, и на каждую выданную строку набора будет выполнятся блок do.
...
Рейтинг: 0 / 0
Не компилирует ХП с инструкцией select
    #32382528
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k

во втором варианте перед словом select не забыл ли ты слово for?
...
Рейтинг: 0 / 0
Не компилирует ХП с инструкцией select
    #32382538
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ли :-)
но давайте считать это упражнением для самостоятельной работы :-)
...
Рейтинг: 0 / 0
Не компилирует ХП с инструкцией select
    #32382648
Sclif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FOR не обязателен, обязателен INTO. Поэтому и ругается. Без FOR будет возвращатся одна запись (если будет возвращаться вообще, конечно) и цикла не будет.
...
Рейтинг: 0 / 0
Не компилирует ХП с инструкцией select
    #32383338
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А без SUSPEND вообще нифига не будет.
...
Рейтинг: 0 / 0
Не компилирует ХП с инструкцией select
    #32383351
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДаниилА без SUSPEND вообще нифига не будет.
Так уж и вообще? ;)
EXECUTE PROCEDURE ... RETURNING_VALUES ...
...
Рейтинг: 0 / 0
Не компилирует ХП с инструкцией select
    #32383889
Mudd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В том-то всё и дело, что это процедура поиска в моей БД, я её потом в Делфях в Грид через storedproc. Мне целая таба нужна. Ну это можно сделать, варирирую те процедуры, которые привели выше. Спасибо, проблема обойдена =)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не компилирует ХП с инструкцией select
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]