Я не силен в магии и синтаксисе языка хранимых процедур 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;
То запрос возвращает либо полный набор записей, либо набор записей с выборкой по полю с типом данных дата/время (при наличии ключа еще и с дополнительным условием).




