Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 Transact-SQL (2005)
 case statement

Author  Topic 

aakcse
Aged Yak Warrior

570 Posts

Posted - 2009-02-20 : 09:38:20
hi all,

why I am getting error for the below code, every thing looks fine, still it's giving syntax err at cse statement


CREATE PROCEDURE TEST @input varchar(255)

AS

BEGIN

CASE

WHEN @input = 'a' THEN

PRINT 'first letter'

WHEN @input = 'b' THEN

PRINT 'second letter'

ELSE

PRINT ' second letter'

END




END

visakh16
Very Important crosS Applying yaK Herder

52326 Posts

Posted - 2009-02-20 : 09:42:35
you cant use case like this. you should use if instead


CREATE PROCEDURE TEST @input varchar(255)

AS

BEGIN


IF @input = 'a'

PRINT 'first letter'

IF @input = 'b'

PRINT 'second letter'

ELSE

PRINT ' second letter'

END

Go to Top of Page

madhivanan
Premature Yak Congratulator

22864 Posts

Posted - 2009-02-20 : 09:43:02


CREATE PROCEDURE TEST @input varchar(255)

AS

BEGIN

DECLARE @output VARCHAR(20)

SELECT @output=

CASE

WHEN @input = 'a' THEN

'first letter'

WHEN @input = 'b' THEN

'second letter'

ELSE

' second letter'

PRINT @outpt

END


Madhivanan

Failing to plan is Planning to fail
Go to Top of Page

aakcse
Aged Yak Warrior

570 Posts

Posted - 2009-02-20 : 10:08:20
quote:
Originally posted by visakh16

you cant use case like this. you should use if instead


CREATE PROCEDURE TEST @input varchar(255)

AS

BEGIN


IF @input = 'a'

PRINT 'first letter'

IF @input = 'b'

PRINT 'second letter'

ELSE

PRINT ' second letter'

END



Go to Top of Page

raky
Aged Yak Warrior

767 Posts

Posted - 2009-02-20 : 11:31:26
quote:
Originally posted by madhivanan



CREATE PROCEDURE TEST @input varchar(255)

AS

BEGIN

DECLARE @output VARCHAR(20)

SELECT @output=

CASE

WHEN @input = 'a' THEN

'first letter'

WHEN @input = 'b' THEN

'second letter'

ELSE

' second letter'

PRINT @outpt

END


Madhivanan

Failing to plan is Planning to fail



Missed End for Case statement
Go to Top of Page

bjoerns
Posting Yak Master

154 Posts

Posted - 2009-02-20 : 12:46:27
Wonder why CASE "Statement" can't alter code? Because it's merely an expression.

http://weblogs.sqlteam.com/jeffs/archive/2007/05/03/60195.aspx
Go to Top of Page

jbp_j
Starting Member

24 Posts

Posted - 2009-02-21 : 01:32:55
hi
Try this one also,

CREATE PROCEDURE TEST @input varchar(255)
AS
BEGIN

PRINT
CASE

WHEN @input = 'a' THEN

'first letter'

WHEN @input = 'b' THEN

'second letter'

ELSE

' second letter'

END
END
Go to Top of Page
   

- Advertisement -