Tas*_*sto 22 database sql-server ssis relational-database
我使用SSIS生成和转换新数据,以便以后在新系统中使用.每次运行我的SSIS包时都会出现问题,它会不断地将新记录插入到我的目标表中.
如何先清空目标表(/ OLE DB目标),然后插入新生成的记录?
目前,此问题的解决方法是delete from DestTable在运行我的包之前执行.
TsS*_*kTo 39
将删除语句放入Execute SQL Task.然后将它作为流程的第一个组成部分.该组件看起来像这样:

DaI*_*mTo 30
创建执行SQL任务.让它先运行.对于sqlstatment来做.
Truncate table DestTable
Run Code Online (Sandbox Code Playgroud)
使用truncate table比使用delete更好,因为它忽略了所有索引,只删除了所有内容.
有一点背景信息.我将尝试解释为什么你应该使用truncate table而不是delete table.删除表是基于行的操作,这意味着每行都被删除.截断表是一个数据页操作,整个数据页被分离.如果你有一个包含一百万行的表,那么截断表会快得多,那就是使用删除表的状态.
| 归档时间: |
|
| 查看次数: |
74515 次 |
| 最近记录: |