首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载时间维表t

加载时间维表t
EN

Stack Overflow用户
提问于 2016-04-21 13:45:43
回答 1查看 825关注 0票数 0

我试图(综合)在一个星型数据集市中填充一个空的时间维度表,之后它应该如下所示:

为此,我使用以下T代码:

代码语言:javascript
复制
    /*
STEP 3
Populate DIM_TIJD table with date and its derrived values data
*/
USE Fuzzy_DM_Robin
--DECLARE DATE VARIABLES FOR DATE PERIOD
DECLARE @StartDate datetime = '01/01/1995'
DECLARE @EndDate datetime   = '01/01/2026'
DECLARE @DateInProcess datetime
SET @DateInProcess      = @StartDate
WHILE @DateInProcess    < = @EndDate
BEGIN
    SET NOCOUNT ON
--LOOP THROUGH INDIVIDUAL DATES DEFINED BY TIME PERIOD
        INSERT INTO DIM_TIJD (
        [DATUM_ID],
        [DATUM],
        [DAG_VD_WEEK],
        [WEEKNR],
        [MAAND],
        [MAAND_OMSCHRIJVING],
        [LAATSTE_DAG_MAAND],
        [KWARTAAL],
        [JAAR]
        )
        VALUES (
        CAST ( @DateInProcess AS numeric (10) ),
        @DateInProcess,
        CONVERT(varchar(10), @DateInProcess, 110) + ', ' + DATENAME(WEEKDAY, @DateInProcess ),
        DATEPART (wk, @DateInProcess),
        MONTH( @DateInProcess),
        CAST(YEAR(@DateInProcess) as varchar(4)) + ' - ' + DATENAME(MONTH, @DateInProcess ),
        DATEPART (dd, EOMONTH ( @DateInProcess)),
        DATENAME( QUARTER, @DateInProcess ),
        YEAR(@DateInProcess))
END

尽管如此,它不会装载。我收到的信息是:

电文1:

字符串或二进制数据将被截断。

和信息2:

执行SQL :执行查询"/*步骤3用日期填充DIM_TIJD表,它.“失败,但有以下错误:“语句已终止。”可能的失败原因:查询出现问题、"ResultSet“属性未正确设置、参数未正确设置或连接未正确建立。

我做错了什么?SSMS中没有显示代码有问题的衬里,我检查了所有varchar长度对于表和代码都是一样的。我尝试过摆弄结果集设置,但这只给了我另一条信息:

电文3:

执行SQL错误:为ResultSetType:"ResultSetType_SingleRow“返回的结果绑定数无效。

提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2016-04-30 18:36:26

@DateInProcess变量需要作为循环的一部分进行增量。

尝试将其添加为循环的最后一行(结束前):

代码语言:javascript
复制
SET @DateInProcess = DATEADD(DAY, 1, @DateInProcess)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36771576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档