Sql 将存储过程的结果插入表中,并添加一个额外的列
我尝试将存储过程中的数据插入到表中,例如Sql 将存储过程的结果插入表中,并添加一个额外的列,sql,sql-server,tsql,stored-procedures,Sql,Sql Server,Tsql,Stored Procedures,我尝试将存储过程中的数据插入到表中,例如 INSERT INTO FailedLogins EXEC sp_readerrorlog 0, 1, 'Login failed' 这很好,但是,我正在使用SSI对数百个数据库运行此操作,因此我需要将@@SERVERNAME添加到FailedLogins表中,以使每个记录与相应的服务器匹配 因此,结果集应如下所示: LogDate ServerName ProcessInfo Text 您可以编辑SP以合并该字段吗?不是在数百台服务器上。表是
INSERT INTO FailedLogins
EXEC sp_readerrorlog 0, 1, 'Login failed'
这很好,但是,我正在使用SSI对数百个数据库运行此操作,因此我需要将@@SERVERNAME添加到FailedLogins表中,以使每个记录与相应的服务器匹配
因此,结果集应如下所示:
LogDate ServerName ProcessInfo Text
您可以编辑SP以合并该字段吗?不是在数百台服务器上。表是否在每台服务器上都登录失败?否,它正在从每台服务器回写到一个DB。那么您什么时候可以引用@SERVERNAME?
DECLARE @readerrorlog_results TABLE (
LogDate date,
ProcessInfo varchar(max),
Text varchar(max)
)
INSERT INTO @readerrorlog_results
(LogDate,ProcessInfo,Text)
EXEC sp_readerrorlog 0, 1, 'Login failed'
INSERT INTO FailedLogins
(LogDate, ServerName,ProcessInfo,Text)
SELECT LogDate,@@SERVERNAME,ProcessInfo,Text FROM @readerrorlog_results