|
This is one of three questions this week, to which, I'm afraid, the answer is no. [The others were Entity-Attribute-Value constraints and A running total]
No, you cannot do that with an SQL statement. That is, maybe you can, but there are too many potential pitfalls here, and they make me feel uncomfortably pessimistic about the likelihood that any query I come up with will actually help you.
What does "break up the number of rows and update their associated header record with a value" mean? You mentioned an approval page, and the image I have is someone sitting at a screen somewhere, looking at rows 6001 through 12000, which, if you don't mind my saying, is far too many rows to display on an approval page.
Next, you want to "update the header record, which
can be multiple records with a unique value," and I am totally hamstrung. Surely a line row belongs to only one header row, so how could a count update multiple header records?
Here's a suggestion: no matter how many line items you show on an approval page, when the user actually approves those line items, update those line items individually. This is accomplished with a real simple UPDATE statement. I would have Javascript on the page to "select all" checkboxes as the default activity. Update the individual line items whose checkboxes were checked. This is accomplished with an IN list containing the keys of the items approved. There is no need to update the header. That way, the user can leave an item unapproved, and it will come up again. Let the user navigate to the next page of unapproved line items, and do not do this with a row number—allow for the user coming back later, by which time the row numbers will be useless as other line items may have come and gone in the interim.
|