我想编写一个返回3列的过程,原来的表中认为最后一列不存在,这是我想在LastLogin和当前时间之间得到的时差,但是我不知道如何写。到目前为止,这就是我所拥有的,但是我什至不确定这是怎么回事。
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
最佳答案
可以通过单个SELECT语句返回相同的结果,例如下面的语句。有程序要求吗?
SELECT用户名,LastLogin,DIFFERENCE(LastLogin,DateTimeOffset)
从UsersAdmin
在哪里Plaza = @Plaza AND UserLevel = @UserLevel
@Plaza和@UserLevel将是查询的参数。如果不需要这些参数,则可以跳过这些参数。
关于mysql - 我如何插入具有一个额外列的临时表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38464461/