以存储过程(和select语句)返回的值为条件,将文本插入表中

时间:2013-11-19 13:26:54

标签: sql sql-server select stored-procedures insert

我的目标是使用字符串“finished”和一些静态值(在表中的其他列中)更新表,基于select语句并且条件是select语句的输出满足特定条件。这些条件是大约18个存储过程的输出返回值为0。

每个存储过程为每个单元(“Number_of”)返回一些值(“EnhetsId”),范围从0到无穷大。存储过程首先调用数据库(“GR_PS09_1”),然后调用基于其单元ID(“EnhetsId”)的唯一单元。

所以首先我有一个select语句,给定一个条件给我一个单位的输出。然后,如果这些单元满足SP为每个单元返回值0的条件,我想在临时表中插入“合格”单元ID(EnhetsId),一些静态值和字符串“已完成”。

我的代码到目前为止,help from @MrReband

declare @temp2 table (
EnhetsId varchar(50), 
TjanstId Int, 
Tabell varchar(50),
Kommentar ntext,
Uppdaterad datetime 
);


WITH ENHET_CTE AS 
(
SELECT A.[EnhetsId]
FROM [StatistikinlamningDataSKL].[dbo].[StatusHistorik] A
inner join (
         select [EnhetsId], max(SenastUppdaterad) as SenastDatum
         from [StatistikinlamningDataSKL].[dbo].[StatusHistorik]
         group by [EnhetsId]
         ) B
on A.[EnhetsId] = B.[EnhetsId] and A.[SenastUppdaterad] = B.SenastDatum
WHERE [NyStatus] = 4
),        
 /* this code below is the one I am trying to solve */
SP_01 AS
(
set @enhet = (select exec StatistikinlamningDataSKL.dbo.SKL_admin_KN_aform 'GR_PS09_1', '''EnhetsId'''
where 'Number_of' = 0)

), 

/*add more stored procedures*/

insert into @temp2 
(EnhetsId, TjanstId, Tabell, Kommentar, Uppdaterad) 
SELECT 
EnhetsId, 1, 'GR_PS09_1', 'finished', getdate() 
from ENHET_CTE;

有没有人对如何处理此代码有一些意见?

0 个答案:

没有答案