我正在尝试(综合地)在星形模型数据集市中填充一个空的时间维度表,之后它应该如下所示:
我为此使用以下 T-SQL 代码:
/*
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 任务] 错误:执行查询“/* STEP 3 Populate DIM_TIJD table with date and it...”失败,出现以下错误:“语句已终止。”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或连接未正确建立。”
我究竟做错了什么?SSMS 中没有下划线表示代码有问题,我检查了表和代码的所有 varchar 长度是否相同。我试过摆弄结果集设置,但这只会给我另一条消息:
消息 3:
[执行 SQL 任务] 错误:为 ResultSetType 返回的结果绑定数无效:“ResultSetType_SingleRow”。
先感谢您!