Archives of the TeradataForum
Message Posted: Thu, 10 Mar 2005 @ 17:34:50 GMT
No, that is not possible with Teradata SQL (no doubt purists would argue that the SQL Server 'solution' breaks the SQL rules which basically says "this function must be performed agains ALL rows that meet the selection criteria" - but I'm not going to get into any 'religious' debates about that).
If you need to delete a portion of rows then you could take a number of different approaches, each of which will no doubt have pro's and cons for your site:
- use something like Multiload to delete the rows a chunk at a time. This would require building multiple data files, each with a different set of primary index values.
- code multiple DELETEs as separate transactions. In each DELETE statement add the following to the WHERE clause
AND SALEDATE MOD 10 = n (where n is a value 0 - 9)
Each DELETE will now remove @10% of the full set of data rows (and before anyone points it out I have only said approx 10%, the actual amounts will depend on the variation of the number of rows with each SaleDate value). If dividing the set of rows in 10 chunks is not enough then use the same approach to divide into 20, or 100 or 'whatever'.
|Copyright 2016 - All Rights Reserved|
|Last Modified: 28 Jun 2020|