一.摘要
  表值参数(Table-valued parameters)简称TVP,是SQL Server
2008中引入的相同种新特色,它提供了扳平栽内置的章程,让客户端应用可以就经过独立的同一长长的参化数SQL报告词,就好往SQL
Server发送多行数据。

氚云SaaS

二.简介
  以表值参数出现以前,当得发送多履行数据到SQL
Server,我们只能采取有替方案来落实:
  (1) 使用一连串的独参数来表示多列和多行数据的值。
      使用就同一主意,可以让传送的数据总量受限于可用参数的个数。SQL
Server的储存过程绝多好行使2100只参数。
     
在这种方法被,服务端逻辑必须将这些独立的值组合及表变量中,或是临时表中进行处理。
  (2)
将大半单数据值捆绑到带限定符的字符串或是XML文档中,然后又用文本值传递至一个囤积过程要报告句被。
     
这种方式要求存储过程要报句被要发生必要的数据结构验证和数目松绑的逻辑。
  (3) 为多行数据的修改创建同密密麻麻独立的SQL语句。
     
就比如在一个SqlDataAdapter中调用Update方法时出的那些一样,这些创新得给单独地或分组成批地交到服务器。
     
不过,尽管成批提交中涵盖多再次报句,但这些话以服务端都是给分别独立执行的。
  (4) 使用bcp实用程序或是使用SqlBulkCopy对象将多实践数据载入一个表中。
       
尽管就无异艺效率特别高,但她并无支持以服务端执行(注:多行数据还无法一次性传给存储过程),除非数据是深受载入到临时表或是表变量中。
  SQL Server
2008饱受之T-SQL功能新增了表值参数。利用这新增特色,我们得挺便利地经T-SQL语句,或者经一个应用程序,将一个表明作为参数传被函数或存储过程。
  (1) 表值参数表示你得拿一个表类型作为参数传递到函数或存储过程里。
  (2)
表值参数的意义可允许而往吃声称也T-SQL变量的表中导入数据,然后将该表作为一个参数传递到囤过程要函数中去。
  (3)
表值参数的助益在你可通往存储过程或者函数发送多实施数据,而任由需往以前那么必须声明多单参数或者以XML参数类型来处理多行数据。

目录

三.描述
  计划划分三有讲述表值参数的应用。
  (1) 在T-SQL中创造同运TVP
  (2) 在ADO.NET中采用DataTable对象,将那个看作参数传被存贮过程
  (3) 在ADO.NET中动用Collection对象,将该作参数传给存贮过程

1局介绍2

四.率先片:在T-SQL中开创与采用TVP
  参看URL:
ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.en/s10de_1devconc/html/5e95a382-1e01-4c74-81f5-055612c2ad99.htm
  1. 表值参数有两单第一有:SQL Server
类型以及引用该项目的参数,若一旦创造与运表值参数,请执行以下步骤:
    (1) 创建表类型并定义表结构。
          TVP功能的基础是SQL2008中流行的用户从定义表类型(User-Defined
Table Types),简称UDTT,它同意用户将表的概念注册为全局周知类型。
         
注册后,这些表类型可以像当地变量一样用于批处理中、以及存储过程的函数体中,也尽管是UDTT的变量可以作为参数在蕴藏过程与参数化TSQL中使用。
                                  用户从定义表类型的运有成千上万克:
                                  (1)
一个用户从定义表类型不同意用来定义表的列类型,也未能够就此来定义一个用户从定义结构类型的字段。
                                  (2)
不允许在一个用户从定义表类型上创造一个非聚合索引,除非此目录是基于此用户从定义表类型创建的主键或唯一约束。
                                  (3)
在用户从定义表类型的定义着,不克指定缺省值。
                                  (4)
一旦创立后,就不容许再次针对用户从定义表类型的定义进行修改。
                                  (5)
用户从定义函数不可知为用户定义表类型中之计量列定义为参数来调用。
                                  (6)
一个用户从定义表类型不允作为表值型参数来调用用户从定义函数。
                                        例如:

2氚云SaaS是什么3

/* Create a user-defined table type */
CREATE TYPE OrderItem$Udt AS TABLE( 
                                                  OrderId int primary key, 
                                                  CustomerId int, 
                                                  OrderedAt datetime
                                        ) 
                                        GO   

3氚云SaaS有啊优势4

                (2) 声明具有表类型参数的例程。
                        ————————–

4氚云发哪些SaaS应用5

CREATE PROCEDURE OrderItem$Insert( 
                                @OrderHeaders AS OrderItem$Udt READONLY, 
                                @OrderDetails AS OrderDetail$Udt READONLY) 
                        AS 
                        BEGIN 
                                -- Bulk insert order header rows from TVP 
                                INSERT INTO [OrderItem] 
                            SELECT *, SYSDATETIME() FROM @OrderHeaders 
                            -- Bulk insert order detail rows from TVP 
                            INSERT INTO [OrderDetail] 
                            SELECT *, SYSDATETIME() FROM @OrderDetails 
                        END 
                        GO

4.1氚云tERP5

                (3) 声明表类型变量,并援引该表类型。
                        —————————

4.2氚云CRM6

                        IF OBJECT_ID (N'OrderItem', N'U') IS NOT NULL
                                DROP TABLE [OrderItem]
                        GO
                        CREATE TABLE [OrderItem]( 
                                OrderId int NOT NULL primary key, 
                                CustomerId int NOT NULL, 
                                OrderedAt datetime NOT NULL, 
                                CreatedAt datetime2(0) NOT NULL DEFAULT sysdatetime()
                        ) 
                        GO

4.3氚云HR6

                (4) 使用 INSERT 语词填入充表变量。
                        ————————
                       

4.4氚云资产管理6

            DECLARE @OrderItemUdt        dbo.OrderItem$Udt
            INSERT INTO @OrderItemUdt
            VALUES (1,20,GETDATE()),(2,31,GETDATE()),(100,4,GETDATE()),(201,51,GETDATE())
            SELECT * FROM @OrderItemUdt

4.5费控管理7

                (5) 创建并填写充表变量后,可以将拖欠变量传递让例程。
                        ————————
                       

4.6氚云进销存7

            EXEC dbo.OrderItem$Insert @OrderItemUdt,@OrderDetailUdt
            SELECT * FROM dbo.OrderItem

4.7OKR7

        2. 优点
               
表值参数有双重胜似的八面玲珑,在少数情况下,可正如临时表或任何传递参数列表的方法提供再好之习性。表值参数有以下优势:
                (1)首破由客户端填充数据常常,不到手锁。
                (2)提供简单的编程模型。
                (3)允许在么例程中概括复杂的事体逻辑。
                (4)减少至服务器的来往。
                (5)可以具有不同基数的说明结构。
                (6)是强类型。
                (7)使客户端好指定排序依次及唯一键。
        3. 限制
                表值参数有下面的限定:
                (1) SQL Server 不保护表值参数列的统计信息。
                (2) 表值参数必须作输入 READONLY 参数传递到
Transact-SQL 例程。
                      不能够在例程体中对表值参数执行诸如 UPDATE、DELETE 或
INSERT 这样的 DML 操作。
                     
***如果想要改那些都流传到囤过程或者参数化语词被之表值型参数中之数码,只能通过为临时表或表变量中插数据来促成。
                (3) 不可知将表值参数用作 SELECT INTO 或 INSERT EXEC
语句的目标。
                      表值参数可以以 SELECT INTO 的 FROM
子句被,也堪于 INSERT EXEC 字符串或存储过程遭到。
        4. 作用域
                (1)
就像其他参数一样,表值参数的作用域也是储存过程、函数或动态 Transact-SQL
文本。
                (2) 表类型变量也同运 DECLARE
语词创建的外任何有变量一样享有作用域。
                    可以当动态 Transact-SQL
语句内声明表值变量,并且可将这些变量作为表值参数传递及囤过程与函数。
                (3) 一般多用来行数小于1000履的数量。
                    应用比较普遍的凡以Browse
Master的多行数据作过滤条件时利用。
                   
利用TVP使得同一坏栽多项或Select多实践变得多简单。过去,我们运用笨拙的逗号分隔列表或XML,虽该能够胜任,但未是坐习惯的目标方式在,而且存取速度也死缓慢。
         
例如:会计系统的精选的大多独单位多独学科或多个部所时,利用TVP的措施可大大提高存取的速也可是提高编程的可读性。
五. 例子

4.8服务差单8

USE AdventureWorks
GO
------------------------
IF  EXISTS (SELECT * FROM sys.types st JOIN sys.schemas ss ON st.schema_id = ss.schema_id
  WHERE st.name = N'OrderItem$Udt' AND ss.name = N'dbo')
DROP TYPE [dbo].[OrderItem$Udt]
GO
CREATE TYPE OrderItem$Udt AS TABLE( 
  OrderId int primary key, 
  CustomerId int, 
  OrderedAt datetime) 
GO 
------------------------
IF  EXISTS (SELECT * FROM sys.types st JOIN sys.schemas ss ON st.schema_id = ss.schema_id
  WHERE st.name = N'OrderDetail$Udt' AND ss.name = N'dbo')
DROP TYPE [dbo].[OrderDetail$Udt]
GO
CREATE TYPE OrderDetail$Udt AS TABLE( 
OrderId int, 
    LineNumber int primary key(OrderId,LineNumber), 
ProductId int, 
Quantity int, 
Price money) 
GO 
---------------------------
IF OBJECT_ID (N'OrderItem', N'U') IS NOT NULL
DROP TABLE [OrderItem]
GO
CREATE TABLE [OrderItem]( 
OrderId int NOT NULL primary key, 
CustomerId int NOT NULL, 
OrderedAt datetime NOT NULL, 
CreatedAt datetime2(0) NOT NULL DEFAULT sysdatetime()
) 
GO 
--------------------------
IF OBJECT_ID (N'OrderDetail', N'U') IS NOT NULL
DROP TABLE [OrderDetail]
GO
CREATE TABLE [OrderDetail]( 
OrderId int NOT NULL, 
LineNumber int NOT NULL primary key(OrderId,LineNumber), 
ProductId int NOT NULL, 
Quantity int NOT NULL, 
Price money NOT NULL, 
CreatedAt datetime2(0) NOT NULL DEFAULT sysdatetime())
GO 
------------------------
IF OBJECT_ID(N'OrderItem$Insert',N'P') IS NOT NULL
DROP PROC OrderItem$Insert
GO
CREATE PROCEDURE OrderItem$Insert( 
@OrderHeaders AS OrderItem$Udt READONLY, 
@OrderDetails AS OrderDetail$Udt READONLY) 
AS 
BEGIN 
-- Bulk insert order header rows from TVP 
INSERT INTO [OrderItem] 
    SELECT *, SYSDATETIME() FROM @OrderHeaders 
    -- Bulk insert order detail rows from TVP 
    INSERT INTO [OrderDetail] 
    SELECT *, SYSDATETIME() FROM @OrderDetails 
END 
GO
------------------------
DECLARE @OrderItemUdt dbo.OrderItem$Udt
INSERT INTO @OrderItemUdt
VALUES (1,20,GETDATE()),(2,31,GETDATE()),(100,4,GETDATE()),(201,51,GETDATE())
SELECT * FROM @OrderItemUdt
------------------------
DECLARE @OrderDetailUdt dbo.OrderDetail$Udt
INSERT INTO @OrderDetailUdt
VALUES (1,1,11,111,1111),(1,2,12,121,1212.12),(1,3,13,131,1313.13),
  (2,1,21,211,2121),(2,2,22,222,2222.22),(2,3,23,231,2323.23),
  (100,1,101,1001,1001.1001),(100,2,102,1002,1002.1002),(100,3,103,1003,1003.1003),
  (201,1,2011,2011,201.201),(201,2,2012,2012,2012.2012)
SELECT * FROM  @OrderDetailUdt
------------------------
EXEC dbo.OrderItem$Insert @OrderItemUdt,@OrderDetailUdt
SELECT * FROM dbo.OrderItem
SELECT * FROM dbo.OrderDetail
GO

4.9型管理8

六.其他
          下有些之情节呢:Table-values parameter(TVP)系列的二:
在ADO.NET中利用DataTable对象,将该看成参数传被存贮过程

4.10流派店报数8

4.11顾客关系管理9

4.12合同管理9

4.13议会管理9

4.14培育管理10

4.15车辆管理10

5用户案例(分行业贴logo)11

6帮资料12

 

2 氚云SaaS是什么

氚云SaaS应用是根据氚云PaaS平台所支付之保有可由定义、数据互通、移动化等属性之行当深度应用。各行各业用户在氚云上,就可知缓解企业举行计划、完善公司管理、提升员工效率、企业执行力等题材。相比叫人情的软件,氚云以互联网及运行,用户不再需要独自定制软件、购买硬件,也非需交大笔安装及维护费用给软件厂商,客户每月只须付极少的费还免费就可行使及之氚云管理采取。

统计 1氚云SaaS有什么优势

 

l 任何时间、任何地点访问

l 更灵活的政工响应能力

l 一体化系统

l 更小的买风险

l 更没有之投入

l 更快的特色迭代

 

4 氚云发安SaaS应用

氚云提供贴合企业要求的深浅应用例如:氚云CRM、氚云tERP、氚云pERP,从深度应用及行业方案,我们因为氚云平台吗根基,不断呢铺面提供深度、全方位的以及可定制的治本体系。

统计 2 

4.1 氚云tERP

简介

氚云tERP是平效仿针对商贸类企业研制的平模拟信息化解决方案。产品覆盖于销售、库存、采购、财务、人事、流程管理整体管理。帮助企业增建筑一个简洁、高效的运营管理平台,实现人、财、物、供、销通盘的管住

涵盖功能

√审批流程  √销售管制  √采购管理  √库存管理  √财务管理 √人事管理  

 

 

 

4.2 氚云CRM

简介

氚云CRM协助销售奇才对销售经过进展管理,从客户开发、外勤,联系人之保安,客户之跟进,商机的卓有成效促进到合同的署名成交和发票、回款等销售生命周期管理。

包含功能

√公海线索 √客户保管 √外勤跟进 √合同管理 √数据解析 √自定义功能

4.3 氚云HR

简介

氚云HR系统是吗公司持续地升级人力资源管理水平和力量要起的信息化的支撑与平台。

富含功能

√招聘管理 √员工管理 √档案管理 √工资条 √数据报表 √流程审批

4.4 氚云资产管理

简介

氚云资产管理主要概括固定资产的购入入库、领用出库、资产激增、修改、转移、借用、归还、报废、维修等普通管理工作。每个固定资产还足以叠加一个资金照片,方便查看贵重物品的图像。其中,资产变、资产借用、资产维修、资产报废了落实电子化审批流程。

涵盖功能

√资产买入 √领用归还 √维修报废 √资产盘点 √资产统计 √资产清单

 

4.5 费控管理

简介

氚云费控管理通过实现用的集中管理与实时监察,便于降低公司资金、聚焦服务,帮助企业加快实现由核算型向管理型转变,通过费用预算制定、预算调整、费用之提请、借款、报销、还款、支付都生命周期管理与流程化审批控制,使得企业的开支管理真落到实处和标准运转。

含有功能

√ 预算管理  √费用预算执行 √预算分析报表

4.6 氚云上销存

简介

氚云进销存软件通过简单的请管理、销售管制、仓库管理暨财务管理等效果,让各国一个用户会透过极端简便的多寡录入进而可能最健全之表输出,大大简化了铺面的劳作流程,提高了商家之工作效率,为合作社之信息化管理提供了极致方便快捷的解决方案。

涵盖功能

√基础数据管理 √库存管理 √财务管理 √采购销售库存查询 √产品销售周转率

4.7 OKR

简介

OKR应用是店铺进行目标管理的一个简短可行之网,能够以目标管理自上而下贯穿到基层。有别于KIP考核方法,OKR是将适用、可衡量的“目标”分解为多少只是量化的“关键结果”,从而帮助职工实现目标。

带有功能

√年度目标  √季度目标  √关键结果  √工作汇报    √绩效分析

4.8 服务派单

简介

简短的派单应用。企业以做售后服务时,利用工单系统来化解派单的劳作流程,并运用在企业所有机关,帮助公司当开售后服务时,服务好她的客户。

含蓄功能

√工单类别 √服务产品 √服务项目  √工单

4.9 项目管理

圈着私家还是团体的周期项目,以档协作的方及时做好工作计划、让机要之品种随时展现进展情况,推进项目的实践!

饱含功能

√项目材料 √项目上报 √项目推向 √项目日报

 

4.10 门店报数

简介

门店报数应用,可以中辅助公司统计门店激活数据。可以解决企业限期的数量报告与集中需求,操作简易上报快、数据自动汇总、层级分明、支持导出。

饱含功能

√商品资料 √门店录入  √数据上报  √销售分析

 

4.11 顾客关系管理

简介

针对2C近似公司之客户关系管理下,提供轻量级的客户保管、销售过程管理、市场走管理和活管理等于扶持业务人员日常工作,帮助业务人员及时获得客户信息,轻松和进客户动态。

富含功能

√市场活动 √顾客保管 √会员资料 √顾客跟进 √服务工单 √销售收款 √统计报表

4.12 合同管理

简介

氚云合同管理使用由合同的录入登记、审批、履约管理、监控实施、评估、查询、统计等统统生命周期的自动化作业模式,实现了庄合同的规范化管理对象。

包含功能

√合同拟定 √合同履行 √合同结算 √合同材料 √合同统计分析

 

4.13 会议管理

简介

粗略的议会管理应用,帮助公司提升会的规范性,效率与品质。

饱含功能

√会议提请 √会议记录 √会议分析

 

4.14 培训管理

简介

简而言之的养管理采用,企业树立组织统一的培育流程,帮助企业中有序的团组织职工培训。

含蓄功能

√培训讲师 √培训科目 √培训安排 √培训统计分析

4.15 车辆管理

简介

氚云车辆管理系统对中小型车队管理人员或商店行政管理人员使用.系统所有的军事管制单位每车使用情况与支出情况,达到统计、分析、控制的管制作用。

含有功能

√车辆信息 √驾驶员信息 √用车申请 √车辆费用 √车辆问题 √车辆费用分析
√用车申请分析 

5 用户案例(分行业贴logo)

互联网行业

 

食品行业

 

商业行业

 

政府公关

 

房地产

 

医药

 

餐饮

 

建筑工程

 

生产制作

 

 

6 支援资料

好透过以下方式很快获得解答:

在线客服: xxx

劳电话: 4000-899-893

官方网站:www.h3yun.com

论坛社区:bbs.h3yun.com

在线视频:http://t.cn/RiZRAlr