Subject Re: [firebird-support] Using LIKE/MATCHING? in stored p rocedure
Author Mark Rotteveel
On Wed, 5 Aug 2015 10:58:34 +0000, "Tor Jørgen Brekka
tor.jorgen@... [firebird-support]"
<firebird-support@yahoogroups.com> wrote:
> Hello,
>
> I need help with the following stored procedure that I need to change:
>
> Here is a part of it like it is today:
> -----------------------------------------------
> BEGIN
> SELECT PRODUCTIONLINENR FROM TBLPRODUCTIONLINE WHERE ESXKEY =
> :ESXPRODUCTIONLINE into :PRODUCTIONLINENR;
> END
> ----------------------------------------------
>
> If :ESXPRODUCTIONLINE = 'L1' and one record in field ESXKEY = 'L1' then
> this is no problem.
>
> But now I want to change the data in ESXKEY so it contains several "L
> values" in same record separated by semicolon, like this:
> Record 1, ESXKEY = 'L1;L2'
> Record 2, ESXKEY = 'L11;L12'
> Record 3....
>
> :ESXPRODUCTIONLINE will still have only one "L value" eg 'L1'
>
> How can I change my SELECT string to get result from record 1 only, if I
> use LIKE %ESXPRODUCTIONLINE% I will get match in both record 1 and 2 I
> believe.

Don't do this, instead design your data model so it is normalized, and you
don't need to have compound values in a single column.

Mark