易截截图软件、单文件、免安装、纯绿色、仅160KB

SqlServer大批量导入导出数据

BULK INSERT
  在SQL Server中,BULK INSERT是用来将外部文件以一种特定的格式加载到数据库表的T-SQL命令。该命令使开发人员能够直接将数据加载到数据库表中,而不需要使用类似于Integration Services这样的外部程序。虽然BULK INSERT不允许包含任何复杂的逻辑或转换,但能够提供与格式化相关的选项,并告诉我们导入是如何实现的。BULK INSERT有一个使用限制,就是只能将数据导入SQL Server。
  插入数据下面的例子能让我们更好的理解如何使用BULK INSERT命令。首先,我们来创建一个名为Sales的表,我们将要把来自文本文件的数据插入到这个表中。
  CREATE TABLE [dbo].[Sales] 
  ( 
  [SaleID] [int], 
  [Product] [varchar](10) NULL, 
  [SaleDate] [datetime] NULL, 
  [SalePrice] [money] NULL 
  ) 
    当我们使用BULK INSERT命令来插入数据时,不要启动目标表中的触发器,因为触发器会减缓数据导入的进程。
  在下一个例子中,我们将在Sales表上创建触发器,用来打印插入到表中的记录的数量。
  CREATE TRIGGER tr_Sales 
  ON Sales 
  FOR INSERT 
  AS 
  BEGIN 
  PRINT CAST(@@ROWCOUNT AS VARCHAR(5)) + ' rows Inserted.' 
  END 
    这里我们选择文本文件作为源数据文件,文本文件中的值通过逗号分割开。该文件包含1000条记录,而且其字段和Sales表的字段直接关联。由于该文本文件中的值是由逗号分割开的,我们只需要指定FIELDTERMINATOR即可。注意,当下面这条语句运行时,我们刚刚创建的触发器并没有启动:
  BULK INSERT Sales from 'c:SalesText.txt' WITH (FIELDTERMINATOR = ',')
  当我们要的数据量非常大时,有时候就需要启动触发器。下面的脚本使用了FIRE_TRIGGERS选项来指明在目标表上的任何触发器都应当启动:
  BULK INSERT Sales from 'c:SalesText.txt' WITH (FIELDTERMINATOR = ',', FIRE_TRIGGERS)
  我们可以使用BATCHSIZE指令来设置在单个事务中可以插入到表中的记录的数量。


相关文档:

SQLServer中临时表的一则使用

1.SQLServer的创建脚本如下:
USE [master]
GO
/****** Object:  Database [test]    Script Date: 10/29/2009 17:43:10 ******/
CREATE DATABASE [test] ON  PRIMARY
( NAME = N'test', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test.mdf' , S ......

sqlserver 跨库拷贝数据


Create Procedure up_InsertData2
@ID INT
AS
BEGIN
Declare @Name NVARCHAR(30)
Declare @c1 NVARCHAR(30)
Declare @c2 NVARCHAR(30)
Declare @c3 NVARCHAR(30)
Declare @c4 NVARCHAR(30)
Declare tmpCur Cursor For Select a,b,c,d from  table1
Open tmpCur;
Fetch Next from tmpCur Into @c1,@c2,@c3 ......

为SQLServer表中的字段添加说明

在SQL语句中通过系统存储过sp_addextendedproperty可为表字段添加上动态的说明(备注)下面是SQL SERVER帮助文档中对sp_addextendedproperty存储过程的描述
语法
sp_addextendedproperty
    [ @name = ] { 'property_name' }
    [ , [ @value = ] { 'value' }
   &nbs ......

SqlServer 大型数据处理与优化

一、数据库结构的设计
    如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。
    在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往 ......

如何解决SQLServer占内存过多的问题

  经常看见有人问,MSSQL占用了太多的内存,而且还不断的增长;或者说已经设置了使用内存,可是它没有用到那么多,这是怎么一回事儿呢?
  首先,我们来看看MSSQL是怎样使用内存的。
  最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得你会用到的数据统统扔到内存中,直到内存不足的时候 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号