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 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理.存储过程存储在 ...
随机推荐
- django中通过model名字获取model
django1.6, 通过字符串和get_app.get_model获得对应的object 只需要两行代码: from django.db.models import get_model get_mo ...
- NET MVC中使用FluentValidation
ASP.NET MVC中使用FluentValidation验证实体 1.FluentValidation介绍 FluentValidation是与ASP.NET DataAnnotataion ...
- 浏览器扩展系列————给MSTHML添加内置脚本对象【包括自定义事件】
原文:浏览器扩展系列----给MSTHML添加内置脚本对象[包括自定义事件] 使用场合: 在程序中使用WebBrowser或相关的控件如:axWebBrowser等.打开本地的html文件时,可以在h ...
- Cocos2d-x 3.0 编译出错 解决 error: expected ';' at end of member declaration
近期把项目移植到cocos2d-x 3.0,在整Android编译环境的时候,出现一大堆的编译出错,都是类似"error: expected ';' at end of member dec ...
- 《自己动手写CPU》写书评获赠书活动结果
<自己动手写CPU>写书评获赠图书的读者有: 京东:8***2.16号哨兵.magicyu.kk6803.jddickyd.杰出的胡兵 亚马逊:徐贺.马先童.jaychen.farmfar ...
- WCF服务上应用protobuf
WCF服务上应用protobuf Web api 主要功能: 支持基于Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, updat ...
- Nodejs使用coffeescript编写的用户注册/登陆代码(MySQL)
记录一下,以备后用 Settings = require '../../settings.js' exports.register = (req, res) -> nick_name = req ...
- 删除Python UserWarning[已解决]
在使用MySQLdb包后,导入测试时发现一个警告. /usr/lib/python2.6/site-packages/setuptools-0.8-py2.6.egg/pkg_resources.py ...
- MySQL之GROUP BY用法误解
1.说明 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理.(只是简单说明这个 ...
- C++中出现的计算机术语4
adaptor(适配器) 一种标准库类型.函数或迭代器,使某种标准库类型.函数或迭代器的行为类似于第二种标准库类型.函数或迭代器.系统提供了三种顺序容器适配器:stack(栈).queue(队列)以及 ...