2009-06-09 5 views
0

Existe-t-il un moyen de limiter davantage la recherche effectuée par une fonction de recherche de base de données pour inclure une autre colonne?Fonction fixe de la fonction de recherche de base de données BizTalk

J'ai une table contenant quatre colonnes.

Id (identité n'a pas d'importance pour cela) mapId int Ident1 varchar ident2 varchar

Je suis en train de se ident2 pour un match sur Ident1 mais souhaitez qu'il ne recherche où mapId = 1.

Le functoid n'autorise que les quatre entrées?

MISE À JOUR

Il semble qu'il y ait une technique si vous souhaitez effectuer la recherche sur plusieurs colonnes qui sont des types de données de chaîne. Pour les personnes intéressées J'ai trouvé ici ...

Google Books: BizTalk 2006 Recipes

Voyant que je souhaite limiter sur une colonne cela ne fonctionne format: numérique pas pour moi. Si quelqu'un a des idées, je l'apprécierais. Autre peut-être que je devrais penser à ma colonne MapId devenant une chaîne.

Répondre

0

J'ai changé le MapId en MapCode de type char (3) et utilisé la technique décrite dans le livre que j'ai lié dans la mise à jour à la question d'origine.

Le seul problème auquel je faisais face était que mes classements de colonnes n'étaient pas alignés, donc j'obtenais une erreur du SQL quand ils étaient concaténés dans l'instruction générée par la carte.

exec sp_executesql N'SELECT * FROM IdentMap WHERE MapCode+Ident1= @P1',N'@P1 nvarchar(17)',N'<MapCode><Ident2>' 

renifla cela en utilisant le Générateur de profils SQL

Questions connexes