hrb2008() roy_88(中国风_燃烧你的激情!!!在吗?还要麻烦你们一下
能不能改成作业形式?有时候需要提前把下一年的计划提前做出来?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
实际的需求是有设备a,b,c这三台设备的维护时间分别为1个月/次,3个月/次.9个月/次,想到时间自动向b表输出该设备的名称和相关项目.
现在a表内容如下
kaiyongshijian shedingshijian ID beizhu
2007-4-3 12:00:00 12 1
2007-4-3 12:00:00 15 5
2007-4-3 12:00:00 20 9
~~~~~~~~~~~~~~~~~~~~~~~~等等
表B
zhengdianbaoshi ID beizhu
2008-4-3 12:12:00 1
2008-7-3 12:15:00 5
2008-12-3 12:20:00 9
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~等等
------解决方案--------------------a,b,c这三台设备在表中如何体现?
用作业可以的
------解决方案--------------------帮你叫他出来
------解决方案--------------------当我们装SQl2000时,遇到文件挂起,可以按以下方法解决:
1.不用退出SQL2000安装程序,直接切换到桌面.
2.打开注册表编辑器(在“运行”中敲入“regedit”之后回车即可),定位到注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager节点.
3.单击“Session Manager”这个节点,然后在右侧的窗口中找到把“PendingFileRenameOperations”选项删除
4.关掉注册表编辑器,切换回SQL2000安装程序,后退一步,然后再点下一步即可解决!
------解决方案--------------------job里面加下面的语句
declare @date datetime --下年时间变量
set @date=cast(year(getdate())+1 as varchar)+ '-12-31 '
--
declare upcur cursor for
select kaiyongshijian,shedingshijian,ID from a
DECLARE @kaiyongshijian DATETIME,@shedingshijian INT,@ID INT,@i INT
OPEN upcur
FETCH upcur INTO @kaiyongshijian,@shedingshijian,@ID
WHILE @@FETCH_STATUS=0
BEGIN
SET @i= DATEDIFF(month,@kaiyongshijian,GETDATE())/@shedingshijian+1 --自装设备起至今维护次数
while dateadd(month,@shedingshijian*@i,@kaiyongshijian) <@date
begin
insert into b select dateadd(month,@shedingshijian*@i,@kaiyongshijian),@id,null
set @i=@i+1
end
END
------解决方案--------------------馬甲:)
那邊寫了一個啊,要是把條件換成year(..) between 2007 and 3000
就可以一下子將很多時間都插到表b了,也省事了