Problem solve Get help with specific problems with your technologies, process and projects.

SQL to update the header records?

A SearchOracle.com user asks if SQL can be used to update the header records.

I have a header table and a line table, where I need to update the header table based on a calculated row count from the line table. The line table has too many rows to display on an approval page, so I need to break up the number of rows and update their associated header record with a value, then update the next group with a different value. So, if I have 36000 rows on the line table, I need to break it up into approximately 6000 rows. Then I need to update the header record, which can be multiple records with a unique value. Can this be done with an SQL statement? I have to do this on the fly for conversion.

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.

Dig Deeper on Oracle development languages

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.