代码改变世界

SSIS 学习(2):数据流任务(上) (转自游子吟)

2010-11-17 16:53 by 假面Wilson, 791 阅读, 0 推荐, 收藏, 编辑
摘要:数据流任务是SSIS中的一个核心任务,估计大多数ETL包中,都离不开数据流任务。所以我们也从数据流任务学起。   数据流任务包括三种不同类型的数据流组件:源、转换、目标。其中:  源:它是指一组数据存储体,包括关系数据库的表、视图;文件(平面文件、Excel 文件、Xml 文件等);系统内存中的数据集等。  转换:这是数据流任务的核心组件,如果说数据流任务是ETL的核心,那么数据流任务中的转换,则... 阅读全文

SSIS 学习(1) 概要 (转自游子吟)

2010-11-17 16:51 by 假面Wilson, 992 阅读, 1 推荐, 收藏, 编辑
摘要:俗话说:“十年磨一剑”,Microsoft 通过5年时间的精心打造,于2005年浓重推出Sql Server 2005,这是自SQL Server 2000 以后的又一旷世之作。这套企业级的数据库解决方案,主要包含了以下几个方面:数据库引擎服务、数据挖掘、Analysis Services、Integration Services、Reporting Services 这几... 阅读全文

关于Reporting Services的Q&A

2010-11-16 15:37 by 假面Wilson, 429 阅读, 0 推荐, 收藏, 编辑
摘要:最近在Reporting Services开发中遇到了一些问题,拿出来与大家分享。Q:Reporting Services报表导出数据到Excel,报表表头背景色会填充满整个数据内容。A:Table或者矩阵的Location被设置成为0,0造成,只需要设置大于0就能解决。Q:Reporting Services报表导出数据到Excel,Excel数据没有从A列开始。A:Table或者矩阵的Loca... 阅读全文

in与exist , not in与not exist 的区别

2010-11-08 14:43 by 假面Wilson, 3065 阅读, 0 推荐, 收藏, 编辑
摘要:in和existsin 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A(小表),表B(大表)1:select * from A whe... 阅读全文

SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY

2010-11-03 15:44 by 假面Wilson, 209 阅读, 0 推荐, 收藏, 编辑
摘要:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY 在功能上相似,因为它们都返回插入到 IDENTITY 列中的值。 定义:@@IDENTITY返回最后插入的标识值的系统函数。SELECT @@IDENTITY as 'IDENTITY';IDENT_CURRENT 返回为某个会话和作用域中指定的表或视图生成的最新的标识值。SELECT IDENT_CURRENT(... 阅读全文

delete和truncate的区别

2010-11-03 15:38 by 假面Wilson, 389 阅读, 0 推荐, 收藏, 编辑
摘要:TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录... 阅读全文

EXEC与sp_executesql的区别及应用(转)

2010-10-26 14:18 by 假面Wilson, 407 阅读, 0 推荐, 收藏, 编辑
摘要:在项目中需要将内部DECLARE的参数通过EXEC赋值后再作为下面一个EXEC参数的时候,发现都使用EXEC时,问题就不是那么简单了。趁着没有睡意研究下。EXEC的使用与缺点EXEC命令有两种用法,一种是执行一个存储过程,另一种是执行一个动态的批处理一般的使用如下,做动态SQL语句拼接,然后执行然而上面这样的拼接语句又称为“串联变量”,而串联变量是不支持执行计划的,在我的演... 阅读全文

sql server对时间(月、周)的操作--转载

2010-10-11 16:45 by 假面Wilson, 724 阅读, 1 推荐, 收藏, 编辑
摘要:---上个月月初第一天select CONVERT(varchar(12) , DATEADD(mm,DATEDIFF(mm,0,dateadd(mm,-1,getdate())),0), 112 ) ---上个月月末最后一天select CONVERT(varchar(12),dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate()),0)), 112 ) ... 阅读全文

几种常用排序算法总结(转载)

2010-09-02 16:21 by 假面Wilson, 493 阅读, 0 推荐, 收藏, 编辑
摘要:所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。当待排序记录的关键字都不相同时,排序结果是惟一的,否则排序结果不惟一。在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对次序发生改变,则称这种排序方法是不稳定的。要注意的是,排序算法的稳定性是针对所有输入实例而言的。即在... 阅读全文

深入讲解SQL Union和Union All的使用方法

2010-08-16 10:36 by 假面Wilson, 635 阅读, 0 推荐, 收藏, 编辑
摘要:UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。 union只是将两个结果联结起来一起显示,并... 阅读全文