sql 通过存储过程和自定义类型批量新增数据
1,建立存储过程
create PROCEDURE [dbo].[p_Company_Insert]
@CompanyCollection [CompanyTableType] READONLY
AS
INSERT INTO tb_Company (
[cpID]
,[cpHiID]
,[cpBuySellTypeID]
,[cpName]
,[cpShortName]
,[cpIndustry]
,[cpSell]
,[cpBuy]
,[cpAddressID]
,[cpAddress]
,[cpPost]
,[cpTel]
) SELECT
oc.[cpID]
,oc.[cpHiID]
,oc.[cpBuySellTypeID]
,oc.[cpName]
,oc.[cpShortName]
,oc.[cpIndustry]
,oc.[cpSell]
,oc.[cpBuy]
,oc.[cpAddressID]
,oc.[cpAddress]
,oc.[cpPost]
,oc.[cpTel]
FROM @CompanyCollection AS oc; GO
2,建立相对应的数据类型
/****** Object: UserDefinedTableType [dbo].[CompanyTableType] Script Date: 07/04/2014 10:20:51 ******/
CREATE TYPE [dbo].[CompanyTableType] AS TABLE(
[cpID] [int] NOT NULL,
[cpHiID] [int] NULL,
[cpBuySellTypeID] [nvarchar](200) NULL,
[cpName] [nvarchar](200) NOT NULL,
[cpShortName] [nvarchar](200) NULL,
[cpIndustry] [nvarchar](300) NULL,
[cpSell] [nvarchar](200) NULL,
[cpBuy] [nvarchar](200) NULL,
[cpAddressID] [int] NOT NULL,
[cpAddress] [nvarchar](300) NULL,
[cpPost] [nvarchar](100) NULL,
[cpTel] [nvarchar](100) NULL,
)
GO
3,执行代码
/// <summary>
/// 单条添加,将datatable作为参数传进去,返回datatable的自增长编号(调用存储过程)
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
[WebMethod]
public DataTable BuySell_Insert(DataTable dt, string token)
{
CheckLoginedS(token);
if (dt.Rows.Count > 0 && dt.Rows != null)
{
tb_BuySell bs = new tb_BuySell();
DataTable bt = bs.BuySell_Insert(dt);
return bt;
}
else
{
return null;
}
} /// <summary>
/// 把datatable当参数,批量添加数据库中,返回datatable的新增行
/// </summary>
/// <param name="tb"></param>
/// <returns></returns>
public DataTable BuySell_Insert(DataTable tb)
{
DataTable dt = null;
CMD.CommandText = "p_BuySell_Insert";
CMD.CommandType = CommandType.StoredProcedure;
CMD.Parameters.Clear();
CMD.Parameters.AddWithValue("@BuySellCollection", tb);
dt = DB.DataTable(CMD);
return dt;
}
sql 通过存储过程和自定义类型批量新增数据的更多相关文章
- 11月16日《奥威Power-BI基于SQL的存储过程及自定义SQL脚本制作报表》腾讯课堂开课啦
上周的课程<奥威Power-BI vs微软Power BI>带同学们全面认识了两个Power-BI的使用情况,同学们已经迫不及待想知道这周的学习内容了吧!这周的课程关键词—— ...
- mybatis学习之路----mysql批量新增数据
原文:https://blog.csdn.net/xu1916659422/article/details/77971867 接下来两节要探讨的是批量插入和批量更新,因为这两种操作在企业中也经常用到. ...
- 使用EF批量新增数据十分缓慢
使用EF来批量新增数据,发现效率非常的差,几千条数据时甚至需要几分钟来执行,迫于无奈使用sql来执行了. 今天偶然看到一篇关于EF的文章,才发觉原来是自己对EF不够了解的原因. 一般新增时我们是将所有 ...
- 批量新增数据(BuckCopy)
批量新增数据(BuckCopy) 使用webService传输数据时要注意,Datatable中的数据类型,以及科学计数 /// <summary> /// 批量新增数据 /// < ...
- Oracle批量新增数据最佳实践
一.需求描述 现在的项目改造过程中,从国产的Gbase数据库改造为Oracle数据库,遇到一个问题有的业务操作需要批量新增数据. 这也是一个比较常规的操作,有很多地方确实需要一次性新增多条数据.Gba ...
- MyBatis基础入门《十三》批量新增数据
MyBatis基础入门<十三>批量新增数据 批量新增数据方式1:(数据小于一万) xml文件 接口: 测试方法: 测试结果: =============================== ...
- mybatis 学习笔记(4) —— 批量新增数据
1.业务是从前台传入List<T> ,在controller层接受参数,并进行批量新增操作. 2.需要处理的细节 a) mybatis可以支持批量新增,注意数据表需要将主键设置成自增列. ...
- Sql自定义表类型批量导入数据
-- 创建自定义表类型 CREATE TYPE [dbo].[App_ProductTable] AS TABLE( [p_name] [varchar](50) NOT NULL, [p_audio ...
- SQL中存储过程和自定义函数的区别
存储过程: 存储过程可以使得对数据库的管理.以及显示关于数据库及其用户信息的工作容易得多.存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理.存储过程存储在 ...
随机推荐
- UVA Don't Get Rooked
主题如以下: Don't Get Rooked In chess, the rook is a piece that can move any number of squaresverticall ...
- 用css2属性clip实现网页进度条
前言 看了网上一些关于网页进度条样式的资料,有很多方式实现,针对其展现形式,有用图片的,有用css2属性clip,有用flash的,本人就学会了一种,下面就简单来介绍一下. css2的属性clip 如 ...
- HDU 2070 Fibbonacci Number
Fibbonacci Number Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- Redis源代码分析(一)--Redis结构解析
从今天起,本人将会展开对Redis源代码的学习,Redis的代码规模比較小,很适合学习,是一份很不错的学习资料,数了一下大概100个文件左右的样子,用的是C语言写的.希望终于能把他啃完吧,C语言好久不 ...
- GitBook配置
GitBook 是一个通过 Git 和 Markdown 来撰写书籍的工具.生成格式有:JSON.ePub.PDF.Website ! ================================ ...
- oracle删除重复记录,只保留rowid最小的记录
初探oracle删除重复记录,只保留rowid最小的记录 如题,初探oracle删除重复记录,只保留rowid最小的记录(rowid可以反映数据插入到数据库中的顺序) 一.删除重复记录可以使用多种 ...
- 采用malloc分别分配2KB个人空间,然后,realloc调整到6KB、1MB、3MB、10MB场地,分别这五内存“A”、“B”、“C”、“D”、“E”灌装
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h> i ...
- 探究Java中Map类
Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map---实现Map Map.Entry--Map的内部 ...
- js+css3动态时钟-------Day66
昨天,有一天招,宽带到底没装上.相当恼火,不过包了一天租新房,有很多想法下来,其中,率先实现了--动态时钟(它已上载的资源,一些粗略的全貌.汗...) 这里记录.这个看似简单的功能,以达到良好的,我在 ...
- SQL点滴31—SQL语句中@@IDENTITY和@@ROWCOUNT区别
原文:SQL点滴31-SQL语句中@@IDENTITY和@@ROWCOUNT区别 SQL语句中@@IDENTITY和@@ROWCOUNT区别 在一条 INSERT.SELECT INTO 或大容量复制 ...