返回首页

如何更新2场,在2个不同的条件:专家您好,

我乌代Satardekar,

我插入SQL Server 2005中的数据(电子邮件)使用存储过程。
我有2情景

1。
如果我发现任何重复的电子邮件,然后我在某些direction.means更新唯一的状态,如果重复的电子邮件的状态是比数据库邮件的状态中,然后,我让更新。

日期和状态信息存储在companyinfo table.and电子邮件存储在emailinfo表。

#TempTable是在存储过程中的临时表,其中包含新鲜的和重复的电子邮件。

更新重复邮件的状态,根据情况,我写了下面的代码。

UPDATE dbo.companyinfo 

 

SET companyinfo.status=RESULT.status

 

FROM

 

(	

select TEMP1.status,TEMP1.DataID

from

 

		(	

			SELECT tmp.email,tmp.status,Email.DataID,ROW_NUMBER() OVER (PARTITION BY tmp.email ORDER BY tmp.email ) AS 'RowNumber'

			FROM #TempTable tmp 

			LEFT OUTER JOIN emailinfo Email ON tmp.email=Email.email			

										

			WHERE 

			  tmp.email !=''		

			AND 

			EXISTS (SELECT  * FROM dbo.emailinfo WHERE email=tmp.email)

		)AS TEMP1

 

	LEFT OUTER JOIN dbo.companyinfo COMPANY ON TEMP1.DataID=COMPANY.dataId	

 

	where --cmp.status !=8	And

	TEMP1.RowNumber=1       AND

	COMPANY.status !=1			AND 

	COMPANY.status < 6         AND

	TEMP1.status < COMPANY.status

 

) AS RESULT

 

WHERE companyinfo.dataId=RESULT.DataID

(2)
现在,在所有条件下如何更新日期?如果我发现任何重复的邮件,那么它也更新日期。

如何实现这两个条件 - 1。更新状态与条件,以及2。更新日期与有效的方式,在所有重复?感谢在前进。

回答

评论会员:Chandrasekharan病人 时间:2012/02/06
反而把类似这样的

myfile << "\n   Source      IP: %s", ipSrc;


你可以如下代码
{体C3}
它为我工作
评论会员:游客 时间:2012/02/06
。Malli_S:你的GetLastError函数()可能会返回5(即拒绝访问)你试图写入C盘上的文件。尝试使用其他驱动器,它会工作的代码是罚款。Win7的不允许任何进程直接写入OS驱动器的UAC