INSERT EXEC 语句

不打扰是莪最后的温柔 提交于 2019-12-25 18:59:58

INSERT EXEC语句可以把存储过程或动态SQL批处理返结果集插入目标数据表中,下面例子是以存储过程返回结果集插入一个表变量中,

演示例子,首选创建一个存储过程,这个存储过程需要传入一个参数,是否在职的Member。

代码
IF OBJECT_ID('dbo.usp_Member_Job','p'IS NOT NULL
DROP PROCEDURE dbo.usp_Member_Job
GO

CREATE PROCEDURE dbo.usp_Member_Job
    
@IsJob BIT
AS
IF @IsJob = 1
    
SELECT [MemberId],[Name],[Job] FROM [dbo].[Member] WHERE [Job] = @IsJob
ELSE
    
SELECT [MemberId],[Name],[Job] FROM [dbo].[Member] WHERE [Job] = @IsJob OR [Job] IS NULL

  

创建一个表变量,

DECLARE @IsJobMember AS TABLE
(
[MemberId] [int] NOT NULL,
    
[Name] [nvarchar](100NOT NULL,
    
[Job] [bit] NULL
);

  

最后是真正使用INSERT EXEC来把存储过程结果插入表变量中,

INSERT INTO @IsJobMember EXECUTE dbo.usp_Member_Job 1;

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!