2011-09-23 3 views
4

Comment puis-je utiliser l'instruction LIKE dans les procédures stockées (MySQL)?procédure stockée en utilisant like (MySQL)

J'ai essayé les deux, mais je reçois encore des erreurs:

..WHERE Des_Articolo LIKE '%nome_art%'; 

..WHERE Des_Articolo LIKE'%',nome_art,'%'; 

nome_art est déclarée comme

CREATE PROCEDURE ric_art (IN nome_art VARCHAR(100) , OUT msg VARCHAR(100)) 

Un grand merci Roberto

Répondre

8

Utilisez CONCAT pour concaténer des chaînes:

WHERE Des_Articolo LIKE CONCAT('%', nome_art, '%'); 

Remarque: Ce type de requête est lent. Si la performance est un problème, vous pouvez envisager une approche alternative telle que full-text searching.

+0

Merci a tout beaucoup se déroule sans problème. – Roberto

+2

N'est-ce pas ouvert à l'injection SQL? –

+0

Super, merci. – Sambhav

0

vous pouvez utiliser:

..Where Des_Articolo like CONCAT('%',nome_art,'%'); 

Bun Leap_kh