Я не силен в магии и синтаксисе языка хранимых процедур MySQL, помогите, пожалуйста, начать изучать)
Хотелось бы код ниже встроить в хранимую процедурку:
- Код: Выделить всё
procedure TTrademark.SelectTrademarks(Query: TQuery; YFilter: integer; NeedNR: boolean);
Var
S: string;
begin
Query.Filtered:=FALSE;
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('SELECT * FROM investpatents.trademarks');
if YFilter>0 then begin
S:='WHERE ';
if NeedNR then S+='(PERIOD_ADD(DATE_FORMAT(Term,"%Y%m"),6) BETWEEN "'+IntToStr(YFilter)
+'01" AND "'+IntToStr(YFilter)+'12") OR ';
S+='(Term BETWEEN "'+IntToStr(YFilter)+'-01-01" AND "'+IntToStr(YFilter)+'-12-31")';
Query.SQL.Add(S);
end;
Query.SQL.Add('ORDER BY GroupID,GNumb');
Query.Open;
end;
То запрос возвращает либо полный набор записей, либо набор записей с выборкой по полю с типом данных дата/время (при наличии ключа еще и с дополнительным условием).