我有一个Oracle源代码,我正在获取整个表,并且它被复制到看起来相同的SQL Server 2008表中。仅仅为了测试,我想只得到表的一个子集。
在旧的DTS包中,在数据转换的选项下,我可以设置第一个和最后一个记录号,它只能获得那么多记录。
如果我正在进行查询,我可以将其更改为select top 5000或在顶部设置rowcount 5000(也许?这是Oracle源代码)。但是我抓住了整张桌子。
如何在选择Oracle表时限制行数?
答案 0 :(得分:0)
我们可以在数据流中使用rowcount组件,并在组件在优先约束条件下生成User :: rowCount< = 500之后插入目标。只要计数> 500,该过程就会停止将数据插入目标表。
感谢
prav
答案 1 :(得分:0)
自从我触及pl / sql已经有一段时间了,但我认为你可以简单地设置“rownum< = n”的where条件,其中n =你想要样本的行数。 ROWNUM是存在于每个Oracle表上的伪列。 。 。对于像这样的问题来说这是一个方便的功能(它相当于t-sql的row_number()函数而没有分区和排序的能力(我认为)。这将使你不必将整个表引入内存:
select col1, col2
from tableA
where rownum <= 10;
为了将来的参考(并且只是因为我最近一直在使用它),DB2的等价物就是在语句末尾的“fetch first n only”子句:
select col1, col2
from tableA
fetch first 10 only;
希望我没有太偏离基地。