Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167166
  • 博文数量: 103
  • 博客积分: 2251
  • 博客等级: 大尉
  • 技术积分: 1095
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-03 11:15
文章分类

全部博文(103)

文章存档

2011年(103)

分类: 数据库开发技术

2011-05-13 09:30:25

无变化维度一般都是比较简单的维度,都是经过一次性处理后就不再变化的数据;通常这些维度都是一些常识数据 (如性别,重要程度 )和分段数据 (为了减少单层维度的数量,按照一定业务标准进行的人为分组 )

无变化维度处理 概述

无变化维度一般都是比较简单的维度,都是经过一次性处理后就不再变化的数据;通常这些维度都是一些常识数据 (如性别,重要程度 )和分段数据 (为了减少单层维度的数量,按照一定业务标准进行的人为分组 )

2.2实现

这类维度的实现一般都比较简单,即一次性插入之后就完成了;当然如果需要考虑以后的变化,还是建议按照缓慢变化维的第一种处理方式。

2.3代码

-- 创建一个维度表,简单维度表的 ID 字段通常为手工生成字段

CREATE TABLE t_dem_xxx

(

ID VARCHAR(20) NOT NULL,

Name VARCHAR(50),

CONSTRAINT PK_t_dem_xxx PRIMARY KEY (ID)

)

go

CREATE PROCEDURE p_dem_xxx

AS

-- 维度抽取存储过程

BEGIN

DECLARE

@num NUMERIC(10,0)

SELECT @num = COUNT(*) FROM t_dem_xxx

-- 下列情况为手工加入

IF @num = 0

BEGIN

INSERT INTO t_dem_xxx(ID,Name) values('1','aaa')

INSERT INTO t_dem_xxx(ID,Name) values('2','bbb')

INSERT INTO t_dem_xxx(ID,Name) values('3','ccc')

END

-- 下列情况为从临时表中加入

IF @num = 0

BEGIN

INSERT INTO t_dem_xxx (ID,Name) SELECT ID,Name FROM t_tmp_xxx

END

END

阅读(327) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~