Good point. In my C# code I follow the same convention.
>I agree about the BEGIN .. END. Same convention in C# where I like to use the curly brackets if only for one line.
>
>>Hi Dimitry
>>
>>Like Sergey I like to put a BEGIN and END after my if statement even if its only one line. In fact I usually enter the BEGIN and END before I put any statements in the BEGIN END block.
>> I've got some pretty big stored procedures and some to the IF statement blocks are pretty big and have nested IF block in them.
>>
>>>Thank you for the explanation of BEGIN/END and correction of my use of RTRIM().
>>>
>>>>1. You don't need BEGIN/END for one statement but you can wrap even one statement in BEGIN/END. I often do for consistency or if I expect to use more than one statement in the future
>>>>2. Yes, you have to use BEGIN/END for more than one statement otherwise only first one of the block after IF will be executed.
>>>>
>>>>BTW, LEN() function retuns length of it's parameter w/o trailing spaces so RTRIM() in
len(rtrim(@FoundValue)) is redundant. IOW
len(rtrim(@FoundValue)) returns the same result as
len(@FoundValue)>>>>
>>>>>
>>>>>I want to be sure I understand the use of BEGIN / END with IF statement in a stored procedure.
>>>>>
>>>>>Here is how I understand it:
>>>>>
>>>>>1. If there is only one statement after the IF condition, I don't need to have BEGIN / END. That is, this one statement after IF will be executed.
>>>>>
>>>>>2. But if there is more than one statement after IF, I must have these statements enclosed with BEGIN / END? Here is an example:
>>>>>
>>>>>
>>>>>if @SomeVar = 1
>>>>> BEGIN
>>>>> select @FoundValue = column_name from table1 where 'some condition'
>>>>> if len(rtrim(@FoundValue)) > 0
>>>>> set @Var2 = @FoundValue
>>>>> END
>>>>>
>>>>>
>>>>>That is, I must have the BEGIN and END above to make sure all lines after the first IF are executed only if @SomeVar =1 ?
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham