![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добрый день уважаемые мастера, подскажите пожалуйста [D6, IB6.x]
Леший © (2002-12-23 15:14:00)Вот пример на Oracle: CREATE OR REPLACE FUNCTION GetMaxNumber (MY_Date date )RETURN INTEGER IS. Как записать в функцию InterBase.
Alexandr (2002-12-24 14:02:00) [1]точки с запятой не хватает
INTO :intNumber;
Леший (2002-12-23 17:26:00) [2]Типа того, но ненравится intNumber = :intNumber + 1;, выдает ошибку: Token unknown - line 9, char 0intNumber. Что ему надо?
Delirium^.Tremens (2002-12-23 16:22:00) [3]
CREATE PROCEDURE GetMaxNumber (
MY_Date date
)
RETURNS(
intNumber integer
)
AS
begin
SELECT MAX(IND)
FROM name_tabl
WHERE (MY_Date = MY_TABLE.DATE_)
INTO :intNumber
intNumber = :intNumber + 1;
SUSPEND;
end;
Типа так?
Леший (2002-12-23 16:17:00) [4]Мне нужно чтобы при внисении записи сканировалась дата по базе, и если есть записи с этой датой в колонку (напр. IND) проставлялся номер (если в меня есть сегодня уже три записи 1,2,3 то оно проставило номер 4, следующюю ставило 5 и т.д.) Номеровать начинало за каждую дату с 1.
На Оракле - это выглядит приблизительно так:
CREATE OR REPLACE FUNCTION GetMaxNumber (MY_Date date )
RETURN INTEGER IS
intNumber integer;
begin
SELECT MAX(IND)
INTO intNumber
FROM name_tabl
WHERE (MY_Date = MY_TABLE.DATE_)
RETURN nvl(intNumber, 0) + 1;
end;
Как будет в InterBase ?
Alexandr (2002-12-23 15:16:00) [5]нихрена не понятно, чего ты хочешь.
И не забывай, что это РАЗНЫЕ СЕРВЕРА.
И логика у нихъ разная.
Тыб лучше подробненько написал про эту функцию: чего ты от нее хочешь