SQL server2014数据库存储过程 实现游标循环读取 循环插入数据

Posted 阿东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL server2014数据库存储过程 实现游标循环读取 循环插入数据相关的知识,希望对你有一定的参考价值。

USE [Text]
GO
/****** Object:  StoredProcedure [dbo].[TT]    Script Date: 2020/3/6 11:37:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        <Author,,Name>
-- Create date: <Create Date,,>
-- Description:    <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[TT]
@IID INT

AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    DECLARE @ID INT ,@NAME varchar(50)
DECLARE My_Cursor CURSOR --定义游标
FOR (SELECT * FROM Table2 WHERE ID=@IID) --查出需要的集合放到游标中
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor INTO @ID,@NAME; --读取第一行数据(将MemberAccount表中的UserId放到@UserId变量中)
WHILE @@FETCH_STATUS = 0
    BEGIN
      PRINT @NAME; --打印数据(打印MemberAccount表中的UserId)
        INSERT INTO Table3 VALUES(@NAME)
       FETCH NEXT FROM My_Cursor INTO @ID,@NAME; 
    END

CLOSE My_Cursor; --关闭游标
DEALLOCATE My_Cursor; --释放游标
END

c# 调用代码:

 // 数据库连接字符串
            string connStr = "数据库连接字符串“;
            // 创建Connection 对象
            SqlConnection conn = new SqlConnection(connStr);
            // 打开数据库连接
            conn.Open();
            SqlCommand cmd = new SqlCommand("TT", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@IID", SqlDbType.Int) { Value = 1 });
            //如cmd.Parameters.Add(new SqlParameter("@riqi", SqlDbType.DateTime, 8));
            //把具体的值传给输入参数
            cmd.Parameters["@IID"].Value = 2;
            //如cmd.Parameters["@riqi"].Value = this.textBox1.Text;
            //执行存储过程
            cmd.ExecuteNonQuery();

 

以上是关于SQL server2014数据库存储过程 实现游标循环读取 循环插入数据的主要内容,如果未能解决你的问题,请参考以下文章

Sql server2014 内存优化表 本地编译存储过程

sql server 2014怎么装的过程中出错

从视图调用时未插入表的存储过程 - SQL Server 2014

SQL Server 2008之存储过程的设计和实现

慢速存储过程 - SQL Server

(问题解决再追加100分)sql server存储过程实现查询数据条数过大,分页查询怎么实现?