SQL利用存储过程一次插入多条数据

本文介绍了如何创建一个SQL存储过程[p_Company_Insert],该过程处理批量数据操作。当ID不存在时,它会新增记录;如果ID存在,则进行修改。使用了一个名为[p_BuySell_Insert]的类似过程作为示例,并展示了如何将DataTable作为参数传递,批量添加到数据库中,同时返回新增行的数据。
摘要由CSDN通过智能技术生成

创建存储过程(可自行扩展ID不存在时为新增,否为修改)

create PROCEDURE [dbo].[p_Company_Insert]
@CompanyCollection [CompanyTableType] READONLY
AS
INSERT INTO tb_Company (
ID
,Name
,type
)

SELECT
		a.ID
       ,a.Name
       ,a.type
FROM @CompanyCollection AS a; 

GO

创建数据库
CREATE TYPE [dbo].[tb_Company] AS TABLE(
[ID] [int] NOT NULL,
[Name] nvarchar NULL,
[type] nvarchar NULL,
)
GO

执行代码
///
/// 把datatable当参数,批量添加数据库中,返回datatable的新增行
///
///
///
public DataTable Company_Insert(DataTable tb)
{
DataTable dt = null;
CMD.CommandText = “p_BuySell_Insert”;
CMD.CommandType = CommandType.StoredProcedure;
CMD.Parameters.Clear();
CMD.Parameters.AddWithValue(“@CompanyCollection”, tb);
dt = DB.DataTable(CMD);
return dt;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值