Yes, it does print the ID (as you wrote the code). I am probably doing something wrong (I am sure it is not you).
Sorry for the false alert.
>In that case my original code should have worked - it checks for value not being NULL or empty.
>
>You can add
>
>PRINT 'Equpment Id = ' + coalesce(@EquipmentId,'');
>
>to be sure it's passed
>
>>The @EqupmentId is a char(15) type.
>>
>>>What is the type of the @EqupmentId variable? If it's integer, then you may want
>>>
>>>if COALESCE(@EquipmentId, 0) !=0 -- this tests for value being not null and not 0
>>>
>>>
>>>
>>>>>Why does it have to be one line?
>>>>>
>>>>>if COALESCE(@EquipmentId,'') !=''
>>>>> begin
>>>>> select @Pk = equip_pk from dbo.eq_file where Id_Number = @EquipmentId;
>>>>> if @Pk==null
>>>>> begin
>>>>> raieserror ...
>>>>> return
>>>>> end
>>>>> end
>>>>
>>>>I don't know how COALESCE() works but in my test, when I pass a value to @EquipmentId, the code never goes to SELECT ..
"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