Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Информационный Канал Subscribe.Ru

Ежедневная рассылка сайта Мастера DELPHI

DELPHIMASTER.ru

Выпуск от 27.01.04 09:04

Кое-что из нашей кладовки   |x|
Лучшее из нашего FAQ   |x|
Как пронумеровать выбранные записи в SQL запросе, RecNo не работает
Использовать методы SQL сервера. Для каждого сервера, к сожалению, разные в Sybase SQL Anywhere - это number(*).
Например
  select number(*), .... from ....
  В Oracle, боюсь ошибиться, rowid или rownum

Комментарии от Andrey Mamylin

Для ORACLE...

ROWNUM - это псевдоколонка, пронумерованная в порядке следования строк для данного
SELECTа (заполняется до выполнения ORDER BY).
Например, следующий SELECT вернет первые 10 строк для данной сортировки.
SELECT e.ROWNUM,  e.*
FROM    customer e
WHERE    ROWNUM < 11
ORDER BY cust_id;
Однако нумерация будет не 1, 2, 3, 4, а что-то типа 10, 47, 9, 17 - ведь заполняется до
выполнения ORDER BY.

ROWID - это внутренний номер строки в таблице. Однозначно идентифицирует оную.
Можно использовать для корректировки выбранной в Grid строки, а порядок следования -
совершенно произвольный.

С некоторым приближением можно использовать SEQUENCE - создается специальная конструкция,
которая автоматически генерит нумерацию для некоторой вставленной в таблицу колонки
(1,2,3,4... и т.д.) при добавлении новой строки. Если строку удалить - будет "дырка" в
нумерации.
SEQUENCE "привязывается" к таблице триггером и хранит последний сгенерированный номер,
который автоматически обновляется по-мере добавления строк...

Иногда, (не всегда), может прокатить следующее...
select ROWNUM,
A.cust_id
from
(
SELECT cust_id cust_id
FROM customer
WHERE .......
GROUP by cust_id
) A
order by A.cust_id

А вообще - нумерация строк в таблицах противоречит основным принципам реляционности...
ORACLE - это не Fox Pro и ...
Однако, если край нужно - можно сделать ручками на клиенте, используя вышеуказанные
конструкции, а затем выводить в SELECT.

PS. Говорят??? еще есть некий хитрый способ с примененим DISTINCT.

Комментарий от "Petr Abramov":
В Oracle начиная с 8.1.5 кляуза order by возможна в подзапросе, и тогда rownum не перемешиваются. Например:

  select rownum,q.*
  from
    ( select *
      from CUSTOMER
      order by  CUST_ID
    ) q


Комментарий от Кости (kostik78ua@yahoo.com):
Если нужно пронумеровать последовательно строки через ROWNUM, можно воспользоваться запросом в запросе:

  SELECT e.ROWNUM, e.*
  FROM (
  SELECT *
  FROM customer
  ORDER BY cust_id) e
  WHERE e.ROWNUM < 11

»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
  • FFT
    Здравствуй многоуважаемый ALL! Не подскажешь ли мне, где можно найти библиотеку, модуль, или просто процедуру FFT? ...
  • Слежка за запускаемыми на ПК процессами
    Привет программерам!!! Слушайте есть такое дельце...нужно написать прогу, чтобы висела в ОЗУ (была резидентной - аля ...
  • Компонент TKOLMHDateTimePicker
    Почему нельзя редактировать компонент (вернее нет выделения - Selection)?
  • Помогите обработать множество изображений
    Народ помогите пожалуйста делаю карточную игру как лучше всего выводить и обрабатывать карты. Пробовал описать массив ,...
  • Запуск запроса в другой нити
    Возникла необходимость запускать запрос в другой нити никто не поможет ???
  • TStrings
    Почему строки грузятся не полностью, а только первые 5 - 6 символов? ... a:tmemo; ... a.lines.loadfromfile('a.bmp'); .....
  • HWND
    Как найти HWND всех объектов (чужой или своей) программы включая TLabel и т.д.
У нас большой выбор статей   |x|
KOL - кодоэкономичное объектная библиотека для Delphi.
Библиотека KOL позволяет изготавливать не менее мощные приложения, чем стандартная библиотека Delphi - VCL (Visual Component Library, Визуальная Библиотека Компонентов). И при этом добиваться уменьшения размеров программ в 5-15 раз! Например, приложение DirComp, доступное для загрузки на сайте KOL, занимает без сжатия упаковывающими программами около 65 килобайт. Аналогичное приложение, написанное за два года до этого с использованием стандартной библиотеки Delphi, занимало 750 килобайт!
Новинки книжного рынка   |x|
Скрипты для администратора Windows. Специальный справочник
Книга содержит базовые сведения, описания и примеры скриптов, используемых для администрирования Windows. Рассматриваются основные команды и ключевые слова, используемые в интерпретаторе .bat файлов, интерпретаторе KiXtart и Windows Script Host. В книге приведены рабочие примеры скриптов, выполняющих самые разнообразные задачи по автоматизации работы в среде Windows.
Автор: Торрес Дж.
Другие сайты о DELPHI   |x|
ProCoder.ru
Delphi исходники и компоненты, Visual Basic исходники. Множество материала посвященного программированию и авторский софт.

» Оценка сайта: 3
Опрос населения :)
Стоит ли сделать англоязычную версию этого сайта?
»»» Да
»»» Нет
Для души

Хокку дня
Сижу на веранде
в шортах -
огни машин сквозь дождь.

Афоризмы
Женщина, никого не любящая, ни в ком не может вызвать ревности...

Фраза дня
Тепло ли тебе, девица? Тепло ли тебе, синяя?

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Австралии запрещено составлять и читать гороскопы, а также заниматься гаданиями во всех видах. Закон считает это преступным колдовством.
В провинции Виктория на пляж Брайтон Бич можно купаться только в купальнике, который закрывает тело от горла до колен

И на закуску коротенький анекдот
Учиться, учиться и ещё раз учиться - потому что работы вы всё равно не найдёте.

Фотоприколы.
Начните день с хорошего настроения!
http://www.delphimaster.ru/cgi-bin/prikol.pl?id=26211


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (merlin@delphimaster.ru)

Добро пожаловать на сайт -= Мастера DELPHI =- 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное