存储过程中有临时表生成DataSet会失败
  TnD0WQEygW8e 2023年11月18日 39 0

存储过程中如果有临时表,或者有复杂的业务逻辑,此时,要生成DataSet会失败。

CREATE PROCEDURE [dbo].[usp]
AS
BEGIN
     SET NOCOUNT ON

    SELECT *
    INTO #temptable
    FROM customs

    SELECT *
    FROM #temptable
END

 

处理方法:

1 首先修改存储过程,select * into  _temp from ….., 运行存储过程,生成一个中间表(_temp) ,

ALTER PROCEDURE [dbo].[usp]
AS
BEGIN
      SET NOCOUNT ON

    SELECT *
    INTO #temptable
    FROM customs

    SELECT *
    INTO _temp     FROM #temptable
END

2 修改存储过程为 Select * from _temp,其他代码都注释掉。

ALTER PROCEDURE [dbo].[usp]
AS
BEGIN
      SET NOCOUNT ON

--    SELECT *
--    INTO #temptable
--    FROM customs
--
--    SELECT *
--    INTO _temp
--    FROM #temptable

    SELECT *
    FROM _temp

END

3 生成DataSet

 

4 还原存储过程

ALTER PROCEDURE [dbo].[usp]
AS
BEGIN
     SET NOCOUNT ON

    SELECT *
    INTO #temptable
    FROM customs

    SELECT *
    FROM #temptable
END



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月18日 0

暂无评论

推荐阅读
TnD0WQEygW8e