Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
DO CASE equavalent in Transact-SQL
Message
General information
Forum:
Microsoft SQL Server
Category:
SQL syntax
Environment versions
SQL Server:
SQL Server 2005
Miscellaneous
Thread ID:
01326640
Message ID:
01326675
Views:
17
This message has been marked as a message which has helped to the initial question of the thread.
>>>Hi everybody,
>>>
>>>Is there a DO CASE equavalent in Transact-SQL for procedural code, e.g.
>>>
>>>CASE @PersonType = ' '
>>>   One select statement
>>>case ...
>>>   Different select statement
>>>
>>>etc.
>>>
>>>Thanks in advance.
>>>
>>>Creating different strings and using sp_executesql doesn't sound like a good approach to me. I'm guessing I need to use IF statements since there seems to be no CASE alternative for procedural code in T-SQL.
>>
>>No. T-SQL CASE is used in a select statement to conditionally evaluate field results.
>>
>>IF..ELSE is ugly but it does work.
>
>Yes, I see that I don't have other choice except for creating multiple SPs for each type. I'm wondering which way would be better. From code maintenance point of view one procedure is definitely better.

What's wrong with one SP. You always can use structure like this:
IF @Something1
   BEGIN
   -- Select 1
   END
ELSE IF @Something2
   BEGIN
   -- Select 2
   END
ELSE IF @Something3
   BEGIN
   -- Select 3
   END
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform