我有以下表变量,填充此表的逻辑非常复杂,我需要将其包含在单独的存储过程中:
DECLARE @UserExtendedSecurity TABLE
(
UserId UNIQUEIDENTIFIER,
UserName VARCHAR(500),
HasExtendedSecurity BIT
)
所以,让我说我将这个逻辑封装在另一个名为GetUserExtendedSecurityData
的存储过程中,该存储过程返回一个带有映射到上面@UserExtendedSecurity
表变量的列的结果。
让我们说我的主存储过程名为GetUsers
,并且我的主要@UserExtendedSecurity
表变量已定义。
如何从GetUserExtendedSecurityData
拨打GetUsers
并将结果填充到我的主@UserExtendedSecurity
表中?
答案 0 :(得分:1)
INSERT INTO @UserExtendedSecurityTable (UserName, HasExtendedSecurity)
EXEC GetUsers ...
GetUsers本身不返回任何结果,因此GetuserExtendedSercurityData的结果将被填充。
答案 1 :(得分:0)
看起来像普通的INSERT INTO
:
CREATE PROCEDURE dbo.GetUsers
AS
BEGIN
/* some code */
DECLARE @UserExtendedSecurity TABLE
(
UserId UNIQUEIDENTIFIER,
UserName VARCHAR(500),
HasExtendedSecurity BIT
);
INSERT INTO @UserExtendedSecurity
EXEC GetUserExtendedSecurityData;
/* some more code */
END