Estou tentando escrever um cursor. Eu criei uma tabela para capturar o nome de login e a hora de sys.dm_exec_sessions. Agora, preciso escrever um cursor para atualizar o horário de login para o último horário de login se o login já existir e inserir uma linha caso o login não exista na minha tabela. Eu fiz o seguinte, mas infelizmente estou recebendo um erro com a subconsulta retornando mais de um valor para ela. Alguma ideia???
declare @log as varchar(200)
declare @log_time as datetime
declare LoginsSize cursor for
SELECT login_name, login_time
FROM sys.dm_exec_sessions
open LoginsSize
fetch next from LoginsSize into @log, @log_time
while( @@fetch_status = 0)
begin
If (Select Login from [dbo].[LoginsForDBUserList]) = @log
Begin
UPDATE [dbo].[LoginsForDBUserList]
SET LastLoginTime = @log_time
WHERE [login]= @log
END
Else
Begin
Insert Into [dbo].[LoginsForDBUserList]
SELECT login_name, login_time
FROM sys.dm_exec_sessions
END
fetch next from LoginsSize into @log, @log_time
close LoginsSize
deallocate LoginsSize
end