加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

存储过程中有临时表生成DataSet会失败

发布时间:2023-05-08 13:05:53 所属栏目:MsSql教程 来源:
导读:存储过程中如果有临时表,或者有复杂的业务逻辑,此时,要生成DataSet会失败。

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

SELECT *
INTO #temptable
FROM customs

存储过程中如果有临时表,或者有复杂的业务逻辑,此时,要生成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 还原存储过程

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

    SELECT *
    INTO #temptable
    FROM customs

    SELECT *
    FROM #temptable
END

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章