powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос на выод записей.
25 сообщений из 118, страница 3 из 5
Запрос на выод записей.
    #38102357
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvsorockinalexВ общем, проблема при вызове процедуры из делфи:
http://www.ibase.ru/devinfo/sp_call.htm
читай про селективные процедуры, и как их вызывать.
Спасибо за ссылочку, но ту страничку я и прочитал уже...
кстати, последний запрос почему-то выдаёт одну строку, хотя должен несколько...
Запускаю то же самое в ibexpert - получаю несколько строк...

Код: pascal
1.
2.
3.
      IBQuery.SQL.Add ('select * from EQUIPMENTWITHLATESTNUMBERS (''' +
        shifrEdit.Text + ''',''' + naimEdit.Text + ''',''' + obozEdit.Text + ''',''' +
        numberEdit.Text + ''',''' + birthyearEdit.Text + ''')');
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38102364
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FetchAll
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38102378
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот спасбо, вот прекрасно!!!! Премного благодарен, Сударь!
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38102383
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sorockinalexkdvпропущено...

http://www.ibase.ru/devinfo/sp_call.htm
читай про селективные процедуры, и как их вызывать.
Спасибо за ссылочку, но ту страничку я и прочитал уже...
кстати, последний запрос почему-то выдаёт одну строку, хотя должен несколько...
Запускаю то же самое в ibexpert - получаю несколько строк...

Код: pascal
1.
2.
3.
      IBQuery.SQL.Add ('select * from EQUIPMENTWITHLATESTNUMBERS (''' +
        shifrEdit.Text + ''',''' + naimEdit.Text + ''',''' + obozEdit.Text + ''',''' +
        numberEdit.Text + ''',''' + birthyearEdit.Text + ''')');


А вот что будет, если вредный юзер введет в shifrEdit.Text что-то типа " 1234'; delete from EQUIPMENTWITHLATESTNUMBERS; " ?
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38102390
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
плохо будет... говорю же новичок.. и как это исключить? прочитал вроде ссылочку, проглядел?
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38102395
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в общем, проверил на существующем номере изделия. ничего не будет, да и с чего, если эти переменные только для фильтрации Where используются!
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38102397
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sorockinalexи как это исключить?чиитаать проо паараамеетрыы...
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38102534
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ребят, с запросом вожусь, никак не пойму как сделать...
есть таблица:
Группы оборудования
id_______название группы ______ родительская группа
1_______q_____________________null
2_______w_____________________1
3_______e_____________________1
4_______r_____________________3
5_______t_____________________4


Нужно выбрать все идентификатооры, принадлежащие одной родительской группе, то есть должно получиться:
Родительских групп может быть много, нужно выбрать только элементы, принадлежащие одной..
id_______название группы ______ родительская группа
2_______w_____________________1
3_______e_____________________1
4_______r_____________________3
5_______t_____________________4

Думаю, простым запросом не отделаешься, нужно как-то циклом что ли....
Может кто сталкивался и есть готовое решение?
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38102544
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос нормально задай сначала. В т.ч. оформи.
Если родительских групп несколько - приведи
пример с данными для нескольких групп, в т.ч.
с результатом, который хочешь получить.

А-то в текущей постановке вопроса - ответ -
используй where родительская группа is not null.

P.S. И приводи DDL, а не "свои" идентификаторы.

P.P.S. Деревья (вложенность) обычно разбирается
либо с помощью With Recursive, либо рекурсивной
хранимой процедурой.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38102564
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо...
не знаю что такое DDL

вот так:
Группы оборудования
id_______название группы ______ родительская группа
1_______q_____________________null
2_______w_____________________1
3_______e_____________________1
4_______r_____________________3
5_______t_____________________4
6_______y_____________________null
7_______u_____________________6
8_______i_____________________6



Нужно выбрать все идентификатооры, принадлежащие одной родительской группе, то есть должно получиться:
Родительских групп может быть много, нужно выбрать только элементы, принадлежащие одной..
id_______название группы ______ родительская группа
2_______w_____________________1
3_______e_____________________1
4_______r_____________________3
5_______t_____________________4
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38102576
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sorockinalex> не знаю что такое DDL

Скрипт создания таблицы.

> Нужно выбрать все идентификатооры, принадлежащие одной родительской группе

Т.е. поддерево для указанного узла. См. ответ выше -
with recursive, рекурсивная хранимац процедура.
Информацию и примеры можешь прочитать на ibase.ru,
/topic/873434

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38102588
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за примерчик! то что надо!!!!!
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38103705
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят, подскажите, пожалуйста! Возникла ситуация, что без таблицы с единственным автоинкрементным уникальным столбцом не обойтись... То есть в таблице единственный столбец ID. Нужно добавить запись в этоу таблицу - увеличить ID на 1... Insert into в данном случае не поможет...
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38103710
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так будет наиболее правильно это сделать?
Код: sql
1.
SELECT GEN_ID(NEWID, 1) FROM RDB$DATABASE
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38103736
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sorockinalexInsert into в данном случае не поможет...
Что ему помешает? Разве что отсутствие мозга у программиста, не позволяющее ему написать
Код: sql
1.
insert into t (f) values (next value for seq)


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38103752
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а вот это я откуда должен был знать, когда работаю с firebird всего полторы недели?
Код: sql
1.
next value for seq


а такую конструкцию insert into я уже пробовал, только не знал как сделать, если отсутствуют другие поля...

P.S. Предпочёл бы от Вас, Уважаемый, ТАКОЙ помощи больше не получать. Если Вам сложно поделиться опытом, лучше не выпендриваться и ничего вовсе не писать, чем писать сообщения, подобные вашим. Но за последнее всё же спасибо...
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38103818
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sorockinalexа вот это я откуда должен был знать, когда работаю с firebird всего
полторы недели?
Э-э-э... Из документации, не?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38103880
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sorockinalexУважаемый, ТАКОЙ помощи больше не получать.
Что мешало прочитать
http://www.ibase.ru/devinfo/generator.htm ?
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38104127
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в этом же мануале и прочитал про
Код: sql
1.
SELECT GEN_ID(NEWID, 1) FROM RDB$DATABASE


где прочитать про вложенное использование With As?
а то пытаюсь сделать сложный запрос, а так не выходит:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
BEGIN
  FOR
    with e0 as
    (
       select
            equipmenthistory.equipmentid,
            max(equipmenthistory.equipmentpardatetime) max_of_equipmentpardatetime0
        from equipmenthistory
        where
           (
              (equipmenthistory.equipmentparslistid = 13) or
              (equipmenthistory.equipmentparslistid = 14)
           )
        group by equipmenthistory.equipmentid
        order by equipmenthistory.equipmentid
    )
        with e as
        (   
            select
                e0.equipmentid,
                e0.max_of_equipmentpardatetime0,
                max(equipmenthistory.equipmentpardatetime) max_of_equipmentpardatetime
            from e0
            where
               (
                 (equipmenthistory.equipmentparslistid = 13)
               )
            group by e0.equipmentid
            order by e0.equipmentid
        )
            select
                e.equipmentid,
                equipmentlist.shifr,
                equipmentlist.naim,
                equipmentlist.oboz,
                equipmenthistory.equipmentparvalue,
                e.max_of_equipmentpardatetime0
            from e
               left outer join equipmenthistory on (e.equipmentid = equipmenthistory.equipmentid and e.max_of_equipmentpardatetime=equipmenthistory.equipmentpardatetime)
               left outer join equipmentlist on (equipmenthistory.equipmentlistid = equipmentlist.id)
            where
            (
                  (equipmentlist.shifr like '%' || :IN_SHIFR || '%' ) and
                  (equipmentlist.naim like '%' || :IN_NAIM || '%' ) and
                  (equipmentlist.oboz like '%' || :IN_OBOZ || '%' ) and
                  (extract(year from equipmenthistory.equipmentpardatetime) like '%' || :IN_BIRTHYEAR || '%' )
            )
    order by e.max_of_equipmentpardatetime0 DESC
    INTO :EQUIPMENTID,
         :SHIFR,
         :NAIM,
         :OBOZ,
         :EQUIPMENTPARVALUE,
         :BIRTHYEAR
  DO
  BEGIN
    SUSPEND;
  END
END
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38104132
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
конечно, можно было бы сделать отдельными процедурами, но хочется в одной процедурке всё...
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38104134
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sorockinalexгде прочитать про вложенное использование With As?
Э-э-э... README.common_table_expressions у тебя кто-то украл?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38104139
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
где его найти, в хелпе поиском With искал - пусто
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38104141
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дополнительных файлов помощи к программе нет - там пусто
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38104150
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sorockinalexгде его найти
В каталоге %FIREBIRD%\doc\sql.extensions\, натурально!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запрос на выод записей.
    #38104158
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот спасибо, вот это похоже на помощь...
...
Рейтинг: 0 / 0
25 сообщений из 118, страница 3 из 5
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос на выод записей.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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