如何使用一个额外的列插入临时表

时间:2016-07-19 17:02:42

标签: mysql tsql stored-procedures

我想编写一个返回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

1 个答案:

答案 0 :(得分:1)

单个SELECT语句可以返回相同的结果,如下所示。是否要求有程序?

SELECT UserName,LastLogin,DIFFERENCE(LastLogin,DateTimeOffset) 来自UsersAdmin 广场= @Plaza和UserLevel = @UserLevel

@Plaza和@UserLevel将是查询的参数。如果不需要,可以跳过参数。