I've sort of cobbled something that works, my next question is how do I return the value @alcount rather than print it?
declare @TmpName as varchar (2000)
declare @TmpName1 as varchar (2000)
declare @sdate as varchar (20)
declare @svar as varchar (2000)
declare @CMD Nvarchar(100)
declare @Status1 as varchar(2000)
declare @alcount as int
set @alcount = 0
set @sDate = '29/Apr/2013'
DECLARE CUR1 CURSOR FAST_FORWARD FOR
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'resource'
OPEN CUR1
FETCH NEXT FROM CUR1 INTO @TmpName
WHILE (@@FETCH_STATUS = 0)
BEGIN
if @tmpname <> 'Date' and @tmpname <> 'temp'
begin
SET @CMD = 'SELECT @Rtn = [' + @TmpName + '] from [resource]' + ' where [date] = ''' + @sDate + ''''
exec sp_executesql @CMD,N'@Rtn varchar (200) out',@Status1 out
if @Status1 like 'A/L%'
begin
set @alcount = @alcount + 1
end
end
FETCH NEXT FROM CUR1 INTO @TmpName
END
CLOSE CUR1
DEALLOCATE CUR1
print @alcount