sql-server - INFORMATICA post/pre SQL 查询
问题描述
我正在使用 informatica,我正在从表中删除一个部分作为 pre sql 命令。最近表越来越大,删除需要太多时间才能完成我试图将我的查询分成小块,它工作得很好数据库:
use [My_DB];
GO
DECLARE @BatchSize INT = 1000
WHILE 1 = 1
BEGIN
DELETE TOP (@BatchSize)
FROM [dbo].[My_Table] where condition=0 ;
IF @@ROWCOUNT < @BatchSize BREAK
END
但是当我在 INFORMATICA 上尝试它时它不起作用。根本原因是什么,或者 informatica 是否识别这种命令?
谢谢你 。
解决方案
如果可能的话,我建议对表进行分区。可以截断 partition,这几乎不需要任何时间。
使用@Koushik 建议的存储过程也是一个好主意。
对于任何进一步的帮助,我们需要知道问题的性质是什么。“它不起作用”是什么意思?你有什么错误吗?
推荐阅读
- latex - 编织后rmarkdown中数学公式的可见性
- javascript - Jquery DataTable 中心数据
- python - 在 python + flask + gunicorn + nginx + Compute Engine 应用程序中从 Google Cloud Storage 读取文件失败
- arrays - 如何使用VBA从excel中的数组中提取值
- arrays - 如何在 Ionic 中读取我的 json 数组的属性“名称”
- python - 删除以相同名称开头的旧文件
- sql - SQL按升序对具有带符号的字母数字字符的数据进行排序
- r - 大数据和小十进制值的 dcast.data.table 问题
- mysql - SQL 插入和选择语法
- android - 安卓中的多联系人选择器