Primeiro comente a declaração @USERNAME no
BEGIN
inicial quadra -- DECLARE @USERNAME varchar(110)
então manipule o
NULL
valor para o USERNAME
como no SELECT * INTO
quadra ISNULL(b.first_Name, '') + ' ' + ISNULL(b.last_name, '') AS USERNAME
Em seguida, adicione o
@USERNAME
no CURSOR como DECLARE Cur_1 CURSOR
FOR SELECT CUser_id, User_Id, USERNAME FROM #temptable
OPEN Cur_1
DECLARE @CUser_id INT
DECLARE @User_Id INT
DECLARE @USERNAME VARCHAR (200) -- can set your required length
FETCH NEXT FROM Cur_1
INTO @CUser_id, @User_Id
Em seguida, o
@USERNAME
não lançará o NULL
erro ATUALIZAÇÃO :Com base em seus comentários, atualizei a resposta:
Então você quer obter o
@USERNAME
baseado no U_datetime >= @As_ONDATE
doença. Então use seu código existente e adicione mais um bloco dentro do CURSOR para obter o
@USERNAME
valor como após o SELECT @REPORTDATE = U_datetime FROM inward_doc_tracking_trl where U_datetime >= @As_ONDATE
SELECT @USERNAME = ISNULL(b.first_Name, '') + ' ' + ISNULL(b.last_name, '') -- no need of column alias here
FROM inward_doc_tracking_trl a
INNER JOIN user_mst b on a.CUser_id = b.mkey
WHERE a.U_datetime >= @As_ONDATE