t-sql 2008 r2 pass paramters

  • In need to pass 5 parameters to a stored procedure in sql server 2008 r2 standard edition database. The 5 parameters come from a filename in a Visual Basic.Net 2010/2012 application. Two of the parameters are ok since they are numeric values however 3 of the parameters are character that translates to varchar values.

    My problem is the fields that are: 1. major product name, 2. sub product name, and 3. customer name may not be the exact values that are actually contained within the database. There may be differences in the values like upper versus lower case, the number of spaces that are entered between words, words like incorporated may have the abbreviation, and other any special circumstances.

    Between the 4 of the 5 parameters that are to be supplied to the stored procdure, I obtain distinct (unique) values for rows in the database.

    The only thing I think I can do is to look of names in character fields for the minimum size value contained in those columns. Thus my question is how would you write the queries to obtain the values I can referring to?

  • I tend to agree with Joe on this. Scrub the data in your front end application.

    Given that, at this point in time, you've probably already collected lots of garbage that you can't go back and correct for whatever reason, it would be possible to do some scrubbing on your search.

    However, you really need to provide us some DDL and samples of the data (in consumable form), so that we can cobble together some code to address those cases.

    Refer to this article on how to do that: Forum Etiquette: How to post data/code on a forum to get the best help[/url]


    My mantra: No loops! No CURSORs! No RBAR! Hoo-uh![/I]

    My thought question: Have you ever been told that your query runs too fast?

    My advice:
    INDEXing a poor-performing query is like putting sugar on cat food. Yeah, it probably tastes better but are you sure you want to eat it?
    The path of least resistance can be a slippery slope. Take care that fixing your fixes of fixes doesn't snowball and end up costing you more than fixing the root cause would have in the first place.

    Need to UNPIVOT? Why not CROSS APPLY VALUES instead?[/url]
    Since random numbers are too important to be left to chance, let's generate some![/url]
    Learn to understand recursive CTEs by example.[/url]
    [url url=http://www.sqlservercentral.com/articles/St

  • I'm with Joe and Dwain.

    You do have an option, but it's somewhat dangerous. SQL Server has a function called SOUNDEX that sounds out how a word would be spoken. This allows you to take two words, spelled differently that do mean the same thing and possibly get them to link together. However, it's a very inaccurate way to go about it. And, putting the function on the column would prevent index use. You could store a soundex value in a column and then compare parameters to that. But you're still going to hit the accuracy issue.

    Go with Joe & Dwain's initial suggestion.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply