powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Вопрос по хранимым процедурам
13 сообщений из 13, страница 1 из 1
Вопрос по хранимым процедурам
    #32549850
Вопрос такой, есть тут одна программа, работающая на основе базы informix 7.30, нужно создать хранимую процедуру, в которой осуществляется выборка данных.
Пытаюсь создать простейшую, примерно следующее:

create procedure example() returning float;
return 12;
end procedure;
Появляется сообщение о синтаксической ошибке,
а такого вида работает:

create procedure example()
end procedure;

Подскажите что неправильно или где почитать.
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32549890
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот это:

Код: plaintext
1.
2.
3.
create procedure example() returning float;
  return  12 ;
end procedure;

работает без ошибок в 9.30.TC2... И вообще должно работать.

Читать - документацию IBM Informix,навпример, здесь:

http://www.informix.kiev.ua

Про синтаксис SPL можно еще тут посмотреть:

http://ln.ua/~openxs/projects/informix/splsntx.html

Такие дела.

В.К.
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32551581
Vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Try wihout ";" in procedure definition.
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32551671
Попробовал, таже история.
Ещё проходит такая конструкция

create procedure example()
begin
end
end procedure;

Может мою задачу можно решить и по другому?Вот в кратце задание.
Значит на компутере с win2000 настроен odbc. Нужно разбработать набор отчётов, хочу построить отчёты таким образом. В excel есть импорт внешних данных, в виде макроса оформляю подключение к базе и выполняю запрос. Почему Excel, да потому что большинство пользователей умеют с ним работать, могут убрать лишние колонки, добавить ещё какие-нибудь расчёты. А вот тут и появляется проблема, простые запросы он без проблем выполняет, а допусти более сложные с созданием промежуточных временных таблиц нет. Допустим такой:

select a.in_pkod as in_pkod, s.d_name as name, sum(a.in_npay) as sum_zak
from invoice as a, dealers as s
where a.in_ttype=1 and a.in_pkod=s.d_pkod
and (a.in_pkod<'101' or a.in_pkod>'500') and a.in_pkod<>'UNI'
group by a.in_pkod, s.d_name
into TEMP zakup;


Microsoft Query(в Excel) пишет, что виртуальные колнки должны иметь точные(явные) имена. Вроде и так всё обозвано, не понимаю, главное ошибка при использовании агрегирующих функций, а так работает, создаёт временные таблицы и т.д.


Текст запросов довольно большой, много промежуточных таблиц.

Решил оформить запросы в хранимые процедуры(функции), но что-то с ними проблема.
Цель процедуры вывести результат в виде набора записей.
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32551690
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гришкин СергейПопробовал, таже история.
Ещё проходит такая конструкция

create procedure example()
begin
end
end procedure;


точка с запятой не пролезает. Средство которым ты пользуешься считает что после ; начинается новый sql запрос.
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32551696
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гришкин Сергей

select a.in_pkod as in_pkod, s.d_name as name, sum(a.in_npay) as sum_zak
from invoice as a, dealers as s
where a.in_ttype=1 and a.in_pkod=s.d_pkod
and (a.in_pkod<'101' or a.in_pkod>'500') and a.in_pkod<>'UNI'
group by a.in_pkod, s.d_name
into TEMP zakup;

Вроде все верно.

А если упростить до такого:

select a.in_pkod, s.d_name, sum(a.in_npay) sum_zak
from invoice a, dealers s
group 1, 2
into TEMP zakup;

ЗЫ: А ты в какой фирме в Череповце работаешь если не секрет?
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32551788
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С помощью чего создается процедура? Не иначе как MSQuery ? Воспользуйся стандартным dbaccess и волосы станут мягкими и пушистыми.
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32551842
А если упростить до такого:

select a.in_pkod, s.d_name, sum(a.in_npay) sum_zak
from invoice a, dealers s
group 1, 2
into TEMP zakup;

Денис, такая же ерунда: virtual column must have explicit name.
Я работаю в ТК Рассвет, Андрей Беляев должен был переслать письмо тебе.
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32551872
А если упростить до такого:

select a.in_pkod, s.d_name, sum(a.in_npay) sum_zak
from invoice a, dealers s
group 1, 2
into TEMP zakup;

Денис, такая же ерунда: virtual column must have explicit name.
Я работаю в ТК Рассвет, Андрей Беляев должен был переслать письмо тебе.
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32551879
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, насчет "INTO TEMP", корректнее будет писать
"INTO TEMP zakup WITH NO LOG" дабы меньше грузить сервер.
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32551939
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гришкин СергейА если упростить до такого:

select a.in_pkod, s.d_name, sum(a.in_npay) sum_zak
from invoice a, dealers s
group 1, 2
into TEMP zakup;

Денис, такая же ерунда: virtual column must have explicit name.

Смотри в информиксе какой запрос на самом деле выполняется. Возможно твоя прога его корежит.

Гришкин Сергей
Я работаю в ТК Рассвет, Андрей Беляев должен был переслать письмо тебе. Я помню.
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32552065
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем дело в MS Query. Он корежит запрос.

Выполняю запрос:

SELECT bios_type, max(bios_name) as gg
FROM bios_tbl
Group by 1
into temp l1

Ругается -249.

Смотрю в информиксе и вижу что выполняется запрос:

SELECT bios_type, max(bios_name) FROM bios_tbl Group by 1 into temp l1




Хочу есть.
...
Рейтинг: 0 / 0
Вопрос по хранимым процедурам
    #32552130
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев ДенисВ общем дело в MS Query. Он корежит запрос.

вообще во всех запросах алисы полей срезает.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Вопрос по хранимым процедурам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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