I have a query as given below and i want to make it into a view so that i can use excel to view the query but it says there is a issue with declare statement i think i am missing some basics here and want to know what i am actually missing. My end objective is to actually show this query results in excel so that people can run the query themselves please let me know if i should look into other alternatives.
declare @reporttable table (aid id_int, name common_name, id id_int, dastatusID id_int, dastatusID1 id_int, updateDate datetime )
declare @aid id_int
declare @id1 id_int
declare @updatedate1 datetime
declare @name common_name
declare @id id_int
declare @dastatusID id_int
declare @updatedate datetime
declare @dastatusid1 id_int
declare audit_DAasset cursor for
select aid, name, ID, DAstatusID, UpdateDate from aDataAsset order by id, updatedate desc
open audit_DAasset
fetch next from audit_DAasset into @aid, @name , @id, @dastatusid , @updatedate
while (@@FETCH_STATUS = 0)
begin
select @dastatusid1 = @dastatusid
select @id1 = @id
select @updatedate1 = @updatedate
FETCH NEXT FROM audit_DAasset into @aid, @name , @id, @dastatusid , @updatedate
if @dastatusid1 <> @dastatusid and @id1 = @id
insert into @reporttable
values(@aid, @name , @id, @dastatusid ,@dastatusid1, @updatedate1)
else if @id <> @id1
insert into @reporttable
values(@aid, @name , @id, 7 ,@dastatusid, @updatedate1)
end
close audit_DAasset
deallocate audit_DAasset
select Aid AuditID,a.id DataAssetID, c.name Name, das.[status] PreviousStatus, das1.[status] CurrentStatus, a.updatedate ChangeDate from @reporttable as a
left outer join dataasset as c on c.id = a.id
left outer join dastatus as das on das.id = a.dastatusid
left outer join dastatus as das1 on das1.id = a.dastatusid1
where a.dastatusid <> a.dastatusid1
order by a.updatedate desc, a.id