Ich möchte eine Prozedur schreiben, die 3 Spalten zurückgibt, die letzte Spalte existiert nicht in der ursprünglichen Tabelle, es ist ein Zeitunterschied, den ich zwischen LastLogin und erhalten möchte die aktuelle Zeit, aber ich weiß nicht, wie ich es schreiben soll. Bisher habe ich das, aber ich bin mir nicht einmal sicher, ob es so ist.Wie füge ich in eine temporäre Tabelle mit einer zusätzlichen Spalte ein
ALTER PROCEDURE sp_W_getSesionSupervisor
@Plaza varchar(255),
@UserLevel int
DECLARE @tempSupervisor TABLE (
UserName varchar(255),
LastLogin DATETIMEOFFSET,
tTranscurrido DATETIMEOFFSET
);
BEGIN
INSERT INTO @tempSupervisor (UserName, LastLogin)
SELECT UserName, LastLogin FROM UsersAdmin
WHERE Plaza = @Plaza AND UserLevel = @UserLevel
UPDATE @tempSupervisor
SET tTranscurrido = DIFFERENCE(LastLogin, DateTimeOffset)
SELECT * FROM @tempSupervisor
END
Ich sehe, ich wusste nicht, dass ich eine Operation in der Mitte einer Auswahl schreiben könnte ... Ich nehme an, dass ich nur "AS tTranscurrido" nach der UNTERSCHIED() schreiben muss, oder? Und ja, es muss tatsächlich in einer Prozedur sein, aber auf jeden Fall löst diese Antwort es definitiv. Ich muss nur 5 Minuten warten, um das offiziell zu machen. – dreami