| 
	
 | 
 Posted by ansonee on 06/04/07 16:43 
I have the follwoing stored procedure: 
 
ALTER procedure [dbo].[up_GetExecutionContext]( 
	@ExecutionGUID int = null 
) as 
begin 
	set nocount on 
 
	declare	@s varchar(500) 
	declare @i int 
 
	set @s = '' 
	select @s = @s + EventType + ','	-- Dynamically build the list of 
events 
	from( 
		select distinct top 100 percent [event] as EventType 
		from dbo.PackageStep 
		where (@ExecutionGUID is null or PackageStep.packagerunid = 
@ExecutionGUID) 
		order by 1 
	) as x 
 
	set @i = len(@s) 
	select case @i 
		when 500 then left(@s, @i - 3) + '...'	-- If string is too long then 
terminate with '...' 
		else left(@s, @i - 1) -- else just remove the final comma 
	end as 'Context' 
 
	set nocount off 
end --procedure 
GO 
 
When I run this and pass in a value of NULL, things work fine. When I 
pass in an actual value (i.e. 15198), I get the following message: 
 
Invalid length parameter passed to the SUBSTRING function. 
 
There is no SUBSTRING being used anywhere in the query and the 
datatypes look okay to me. 
 
Any suggestions would be greatly appreciated. 
 
Thanks!!
 
  
Navigation:
[Reply to this message] 
 |