![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
select не из таблицы
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, например