Текущий архив: 2006.07.30;
Скачать: CL | DM;
Вниз
select не из таблицы Найти похожие ветки
← →
Delphi basic © (2006-07-06 11:02) [0]как можно в Interbase выполнить что-то вроде
select current_date into :op_date
в Oracle, например, это можно сделать с помощью выбора из специальной таблицы DUAL:
select 10*5 from dual
← →
DrPass © (2006-07-06 11:07) [1]select current_date from rdb$database?
← →
StriderMan © (2006-07-06 12:10) [2]
> Delphi basic
не совсем понятно откуда нужно выбрать
← →
Delphi basic © (2006-07-06 12:27) [3]
> StriderMan © (06.07.06 12:10) [2]
> не совсем понятно откуда нужно выбрать
В том то и дело, что выбирать надо не откуда, а что-то, не привязанное к откуда, т.е. если притянуть за уши, то получить с помощью select значение выражения 5+5, например
← →
Reindeer Moss Eater © (2006-07-06 12:40) [4]select 5+5 from anytable
← →
Delphi basic © (2006-07-06 12:44) [5]
> Reindeer Moss Eater © (06.07.06 12:40) [4]
Ага, и он будет считать столько раз, сколько в таблице anitable строк?
← →
StriderMan © (2006-07-06 12:46) [6]
> select 5+5 from anytable
да, я тоже так делаю
еще можно SELECT 5+5 AS FIELDNAME FROM anytable
← →
Delphi basic © (2006-07-06 12:48) [7]
> StriderMan © (06.07.06 12:46) [6]
И сколько раз этот запрос считает 5+5? Разве не по кол-ву записей в таблице?
← →
Reindeer Moss Eater © (2006-07-06 12:50) [8]И сколько раз этот запрос считает 5+5? Разве не по кол-ву записей в таблице?
Тебе какая разница?
Хотел сосчитать сколько будет 5+5?
Результат получил?
Проверил складывая на пальцах?
← →
Stakan © (2006-07-06 12:51) [9]Delphi basic © (06.07.06 12:48) [7]
Тебе в [1] ответили.
rdb$database таблица с всегда одной записью.
← →
Desdechado © (2006-07-06 12:56) [10]а что, a:=5+5 уже не модно?
уже такие запросы нужно на сервере БД вычислять?
← →
StriderMan © (2006-07-06 13:01) [11]
> Desdechado
ситуация вполне жизненная. например во вложенном запросе или в хранимой процедуре
← →
Desdechado © (2006-07-06 13:04) [12]в ХП тоже можно a:=5+5
а во вложенном запросе, сколько ни писал их, ни разу не понадобилось
наверно естьтакие ситуации, но что-то они какие-то подозрительные
← →
Delphi basic © (2006-07-06 13:10) [13]Ситуция: нужно в ХП получить год и месяц из текущей даты (и вернуть как вых. параметры)
← →
StriderMan © (2006-07-06 13:10) [14]у меня была ситуация, когда использовал UNION нужно было сделать служебный столбец, обозначающий фактически номер подзапроса
← →
Reindeer Moss Eater © (2006-07-06 13:14) [15]Ситуция: нужно в ХП получить год и месяц из текущей даты (и вернуть как вых. параметры)
ну и зачем для этого select, если речь о процедуре?
← →
Delphi basic © (2006-07-06 13:15) [16]Текст ХП примерно такой
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:18) [17]:op_month := month(current_date);
← →
DrPass © (2006-07-06 13:20) [18]select extract(month from current_date), ...
← →
Desdechado © (2006-07-06 13:22) [19]Delphi basic © (06.07.06 13:15) [16]
И зачем для этого SELECT?
И зачем это вообще в процедуре?
← →
Delphi basic © (2006-07-06 13:49) [20]
> Desdechado © (06.07.06 13:22) [19]
Нужно получать значения месяца и года с сервера, т.к. на клиентах в силу тех или иных причин они могут быть другими
← →
DrPass © (2006-07-06 13:54) [21]
> 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:54) [22]
> 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;
Спасибо!
Страницы: 1 вся ветка
Текущий архив: 2006.07.30;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.01 c