我有以下存储过程:
DECLARE @BeginDate1 datetime, @EndDate1 datetime
set @BeginDate1 = '04-01-2012'
set @EndDate1 = '03-31-2013'
BEGIN
INSERT INTO MTBUR_Type_Stage
SELECT
R.Type, [Hours],
LEFT(dbo.fn_GetPartName(R.PartID),CHARINDEX('-',dbo.fn_GetPartName(R.ACSS_PartID), 1) - 1) AS 'Part No',
Count(s.status) AS NumberUnscheduled,
([Hours]/Count(s.status)) AS MTBUR
FROM
Repair R
INNER JOIN
Conversion C ON (R.Performed = C.Performed)
AND (R.Confirmed = C.Confirmed)
INNER JOIN
Status S ON C.StatusID = S.StatusID
INNER JOIN
#MTBUR_Hrs_Temp TEMP ON LEFT(dbo.fn_GetPartName(R.PartID),CHARINDEX('-',dbo.fn_GetPartName(R.PartID), 1) - 1) = TEMP.productNo
AND R.Type = TEMP.Type
WHERE
(R.Received BETWEEN @BeginDate1 AND @EndDate1)
AND (S.Status = 'UNSCHEDULED')
GROUP BY
LEFT(dbo.fn_GetPartName(R.PartID),CHARINDEX('-',dbo.fn_GetPartNaame(R.PartID), 1) - 1), [Hours], R.Type
ORDER BY
R.Type,
LEFT(dbo.fn_GetPartName(R.ACSS_PartID),CHARINDEX('-',dbo.fn_GetPartID(R.PartID), 1) - 1) ASC
DROP TABLE #MTBUR_Hrs_Temp
END
正在插入的表格(MTBUR_Type_Stage
)包含名为EndingDate
和EndingQuarter
的列。 EndingDate
需要具有相同的日期(常量),等于@EndDate
且EndingQuarter
需要具有1
的常量值
如何在我的存储过程中编写脚本,以便在MTBUR_Type_Stage
的相关列中使用这些常量填充所有行?是否填充了这些常量?
以下是我插入的表的DDL:
CREATE TABLE [dbo].[MTBUR_ByType_StageTbl]
(
[Type] [nvarchar](25) NULL,
[Hours] [float] NULL,
[Part No] [varchar](15) NULL,
[UnscheduledRemovals] [int] NULL,
[MTBUR] [float] NULL,
[EndingDate] [datetime] NULL,
[EndingQuarter] [int] NULL
) ON [PRIMARY]
答案 0 :(得分:2)
这很简单:
insert MTBUR_Type_Stage(EndingDate,EndingQuarter)
values (@EndDate,1)
;
或者
insert MTBUR_Type_Stage(EndingDate,EndingQuarter)
select @EndDate,1
扩展了更多字段:
insert MTBUR_Type_Stage(
[Type],
[Hours],
[Part No],
[UnscheduledRemovals],
[MTBUR],
[EndingDate],
[EndingQuarter] [int] NULL
)
select
'x',1.00,'part 1', 0, 2.34,
@EndDate,1