我对SQL服务器有点疑问。
我有3个数据库,每个数据库都有一些表:
database1
有表test
,test1
,test2
。
database2
有表sa
,sa1
。
database3
有一些表格,例如emp
,dept
,loc
。
基于这些数据库,我想根据条件截断表数据:
Thursday
,时间为6:40PM
,然后截断database1
相关表格数据Friday
,时间为12:00AM
,然后截断database2
相关表格数据。Saturday
,时间为3:20AM
,然后截断database3
相关表格数据。我试过了:
select
case when datename(dw,getdate())='Thrusday' and RIGHT(CONVERT(varchar,getdate() ,100), 6) AS [Time]='6:40PM'
then
truncate table database1.dbo.test
end
但是,它没有给出正确的结果。
请告诉我如何在SQL server中完成此任务。
答案 0 :(得分:0)
我认为您必须创建多个SQL Agent作业才能实现目标。 例如,创建每周四下午6:40开始的工作。在作业中,您可以添加SQL步骤,截断\删除相应的数据。
如果您的服务器是Express Edition并且未安装Agent,则必须使用标准Window的调度程序来执行连接到数据库并执行适当语句的进程。