如何定时更新数据库特定表中的数据

勤king 2009-11-30 04:25:06
我现在有一个sqlserver2005的数据库其中有一个A_temp表,现在需要定期的读取一个文本本件data.txt(由sqlserver200导出的,具有固定的数据格式),将文本文件中的数据导入到A_temp表中,并且在将数据导入A_temp表之前要先清空A_temp表.大致的流程是这样的:
(1)清空A_temp表;
(2)读取本地路径下的data.txt文件
(3)将data.txt中的数据导入到A_temp表中
而且这一系列的操作需要定期执行(每天零点)执行一次.
...全文
349 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dollyxz 2009-12-04
  • 打赏
  • 举报
回复
其实用DTSX是王道,你选择的对。
勤king 2009-12-01
  • 打赏
  • 举报
回复
谢谢各位的指点。
由于小弟存储过程不熟,现在写了个dtsx包,然后加载到job里总算是解决了这个问题。不过看来应该好好补补存储过程这部分知识了。
feixianxxx 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sgtzzc 的回复:]
SQL codetruncatetable A_temp;BULKINSERT A_tempFROM'C:\test.txt'WITH (
FIELDTERMINATOR='',--txt的分隔符 ROWTERMINATOR='\n'
)



[/Quote]
这个 写成存储过程吧
放入JOB
--小F-- 2009-11-30
  • 打赏
  • 举报
回复
..
qingquyu 2009-11-30
  • 打赏
  • 举报
回复
我刚学存储过程,请问一个存储过程能实现两个功能吗?
sgtzzc 2009-11-30
  • 打赏
  • 举报
回复
truncate table A_temp;

BULK
INSERT A_temp
FROM 'C:\test.txt'
WITH (
FIELDTERMINATOR = ' ', --txt的分隔符
ROWTERMINATOR = '\n'
)




liangCK 2009-11-30
  • 打赏
  • 举报
回复
定时的话,用job就行.

清空A_temp表的话,用Truncate table

导入数据到A_temp的话,直接使用bcp 或bulk insert或openrowset(bulk) 即可.
dawugui 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 jokin0599 的回复:]
我现在有一个sqlserver2005的数据库其中有一个A_temp表,现在需要定期的读取一个文本本件data.txt(由sqlserver200导出的,具有固定的数据格式),将文本文件中的数据导入到A_temp表中,并且在将数据导入A_temp表之前要先清空A_temp表.大致的流程是这样的:
(1)清空A_temp表;
(2)读取本地路径下的data.txt文件
(3)将data.txt中的数据导入到A_temp表中
而且这一系列的操作需要定期执行(每天零点)执行一次.

[/Quote]
把你这个流程做成存储过程,然后用上面的作业去调用.
sgtzzc 2009-11-30
  • 打赏
  • 举报
回复
用定时作业
华夏小卒 2009-11-30
  • 打赏
  • 举报
回复
作业
aimee_99 2009-11-30
  • 打赏
  • 举报
回复
定时作业的制定 

企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
EXEC 存储过程名 ... --该存储过程用于创建表

--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排


然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
dawugui 2009-11-30
  • 打赏
  • 举报
回复
定时作业的制定

企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
EXEC 存储过程名 ... --该存储过程用于创建表

--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排


然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧