Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

select не из таблицы


Страницы:   1 2

Delphi basic ©   (2006-07-06 11:02:00) 

как можно в Interbase выполнить что-то вроде

select current_date into :op_date

в Oracle, например, это можно сделать с помощью выбора из специальной таблицы DUAL:

select 10*5 from dual


Delphi basic   (2006-07-06 13:54:00) [1]


> DrPass ©   (06.07.06 13:20) [18]

Так сработало:

     select extract(month from current_date), extract(year from current_date)
       from rdb$database
       into :op_month, :op_year;

Спасибо!


DrPass   (2006-07-06 13:54:00) [2]


> Delphi basic ©   (06.07.06 13:49) [20]

Речь о том, что вместо select extract(month from current_date)... можно просто писать
:op_month = extract(month from current_date). На какие-то крохи будет быстрее... хотя в большинстве случаев этим можно пренебречь, тут уж дело вкуса


Delphi basic   (2006-07-06 13:49:00) [3]


> Desdechado ©   (06.07.06 13:22) [19]

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


Desdechado   (2006-07-06 13:22:00) [4]

Delphi basic ©   (06.07.06 13:15) [16]
И зачем для этого SELECT?
И зачем это вообще в процедуре?


DrPass   (2006-07-06 13:20:00) [5]

select extract(month from current_date), ...


Reindeer Moss Eater   (2006-07-06 13:18:00) [6]

:op_month := month(current_date);


Delphi basic   (2006-07-06 13:15:00) [7]

Текст ХП примерно такой
begin
  ...
     select month(current_date), year(current_date) from rdb$database
       into :op_month, :op_year;
  ...
  suspend;
end

Ругается, мол  parsing error .


Reindeer Moss Eater   (2006-07-06 13:14:00) [8]

Ситуция: нужно в ХП получить год и месяц из текущей даты (и вернуть как вых. параметры)

ну и зачем для этого select, если речь о процедуре?


StriderMan   (2006-07-06 13:10:00) [9]

у меня была ситуация, когда использовал UNION нужно было сделать служебный столбец, обозначающий фактически номер подзапроса


Delphi basic   (2006-07-06 13:10:00) [10]

Ситуция: нужно в ХП получить год и месяц из текущей даты (и вернуть как вых. параметры)


Desdechado   (2006-07-06 13:04:00) [11]

в ХП тоже можно  a:=5+5
а во вложенном запросе, сколько ни писал их, ни разу не понадобилось

наверно естьтакие ситуации, но что-то они какие-то подозрительные


StriderMan   (2006-07-06 13:01:00) [12]


> Desdechado

ситуация вполне жизненная. например во вложенном запросе или в хранимой процедуре


Desdechado   (2006-07-06 12:56:00) [13]

а что, a:=5+5 уже не модно?
уже такие запросы нужно на сервере БД вычислять?


Stakan   (2006-07-06 12:51:00) [14]

Delphi basic ©   (06.07.06 12:48) [7]
Тебе в [1] ответили.
rdb$database таблица с всегда одной записью.


Reindeer Moss Eater   (2006-07-06 12:50:00) [15]

И сколько раз этот запрос считает 5+5? Разве не по кол-ву записей в таблице?

Тебе какая разница?
Хотел сосчитать сколько будет 5+5?
Результат получил?
Проверил складывая на пальцах?


Delphi basic   (2006-07-06 12:48:00) [16]


> StriderMan ©   (06.07.06 12:46) [6]

И сколько раз этот запрос считает 5+5? Разве не по кол-ву записей в таблице?


StriderMan   (2006-07-06 12:46:00) [17]


> select 5+5 from anytable

да, я тоже так делаю

еще можно SELECT 5+5 AS FIELDNAME FROM anytable


Delphi basic   (2006-07-06 12:44:00) [18]


> Reindeer Moss Eater ©   (06.07.06 12:40) [4]

Ага, и он будет считать столько раз, сколько в таблице anitable строк?


Reindeer Moss Eater   (2006-07-06 12:40:00) [19]

select 5+5 from anytable


Delphi basic   (2006-07-06 12:27:00) [20]


> StriderMan ©   (06.07.06 12:10) [2]
> не совсем понятно откуда нужно выбрать

В том то и дело, что выбирать надо не откуда, а что-то, не привязанное к откуда, т.е. если притянуть за уши, то получить с помощью select значение выражения 5+5, например


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо