No. I was just suggesting the proven architecture of SYSROWVER as a framework for your task.
On Friday, October 1, 2021 at 3:51:54 PM UTC-4 Doug Hamilton wrote: > Thanks Mike. > As I understand it, SYS_ROWVER is an integer that increments by one for > each change to a row. I often create temp tables with a SYS_ROWVER column > when editing using a form. if SYS_ROWVER is > 0, then I can ask user if > they want to save their changes or not. > > I'm not sure how to get SYS_ROWVER to increment by DateTime; and it would > update DateTime any time the row is changed. I want to keep the initial > DateTime the row was added. > > Doug > > > On 9/30/2021 6:41 AM, [email protected] wrote: > > Remember Oterro databases use AUTOROWVER and the SYS_ROWVER column > https://www.rbase.com/support/rsyntax/rbgx/operating_condition.htm > > Why wouldn't the system used work for you by using the datetime instead of > an Integer? > > > On Wednesday, September 29, 2021 at 11:12:51 PM UTC-4 Doug Hamilton wrote: > >> Javier - For the reasons you cited, I'm going to use an After Insert >> trigger with your suggestion of WHERE TrackingDateTimeAdded IS NULL.. >> That appears to be the most straight-forward and foolproof. >> I haven't worked with COUNT= LAST or COUNT = INSERT enough to be >> comfortable with them. >> Default values and computed columns may work, but all it would take is >> some errant user (me) to overlook the NOCALC setting and clobber all the >> data. >> >> Thank you for your suggestion. >> Doug >> >> >> On 9/29/2021 11:30 AM, [email protected] wrote: >> >> Karen, >> >> >> >> I have only used the NOCALC switch to unload and reload data without any >> of the computed columns recalculating. >> >> By design, the computed columns kicks in any time one of the components >> of the computations changes, for example, if I have a columns “FullName” >> which is defined as “FirstName& LastName” then, whenever one of the two >> components changes, the computed column also changes, as expected. When you >> unload and load data using the NOCALC switch, the update of the computed >> column is temporarily disabled ONLY during the unload and load operation. >> However, If you edit one of the components before or after, the computed >> column would update as expected. >> >> For this reason, I would never use the variable #NOW as part of a >> computed columns because I am not sure how often the computed column with >> the #NOW component would update. Using UPDATE in the INSERT trigger would >> update the columns only once, when the trigger kicks in, and the value >> would be retained afterwards unless specifically and manually or >> programmatically changed. >> >> It was suggested to use #NOW as the default value for the column at >> insert time when no value is entered for the column in question. This look >> like a nice solution; however, I have not used this approach myself before >> so I cannot attest how and if it works. In theory, sounds like it should >> work and it is something I will definitely try in the future. >> >> Hopefully this explains my comment based on my understanding on how the >> NOCALC switch work and my own experience. >> >> >> >> Javier, >> >> >> >> Javier Valencia, PE >> >> 913-915-3137 <(913)%20915-3137> >> >> >> >> *From:* 'Karen Tellef' via RBASE-L <[email protected]> >> *Sent:* Wednesday, September 29, 2021 8:12 AM >> *To:* [email protected] >> *Subject:* Re: [RBASE-L] - Automatic DateTime for each row inserted >> >> >> >> Javier: Just confirm for me cuz I haven't played around with NOCALC >> yet. That prevents a recalculation of computed columns if you do an >> unload, but the computed column will still change if you make *any* >> change to the row, correct? If so, then a computed date or datetime column >> is good only as a "date last edited" but not to indicate when a record was >> inserted or another type of change. In that case, like you demonstrate, I >> either update a regular column in code or by using triggers. My triggers >> look at the before and after value, and then update a date column if a >> change was made, or populate a change logging table. >> >> >> >> Also to be considered is work at the R> prompt and whether you would want >> a computed column to be changed if, for example, a consultant is fiddling >> around with data on the backend and wouldn't want to have a user-generated >> computed column changing. >> >> >> >> Karen >> >> >> >> >> >> >> >> -----Original Message----- >> From: [email protected] >> To: [email protected] >> Sent: Tue, Sep 28, 2021 5:56 pm >> Subject: RE: [RBASE-L] - Automatic DateTime for each row inserted >> >> Doug, >> >> I have used the NOCALC switch before and works as advertised. Having said >> that, I would be hesitant to use a computed field that uses the #NOW >> variable since it is dynamic and I would rather have that columns locked on >> one date and not take a chance of it updating when not wanted. >> Have you consider using the After Insert trigger with something like this: >> >> UPDATE ShipmentTracking + >> SET TrackingDateTimeAdded = .#NOW + >> WHERE TrackingDateTimeAdded IS NULL >> >> It would automatically update anything that does not have data which most >> of the time would be only the record just inserted. Jests a though and I >> have not looked into any undesirable side effects. >> >> Javier, >> >> Javier Valencia, PE >> 913-915-3137 <(913)%20915-3137> >> >> -----Original Message----- >> From: [email protected] <[email protected]> On Behalf Of >> Doug Hamilton >> Sent: Tuesday, September 28, 2021 10:43 AM >> To: R:Base List <[email protected]> >> Subject: [RBASE-L] - Automatic DateTime for each row inserted >> >> I have a 7 column table, one column is named TrackingDateTimeAdded, type >> DateTime. >> >> What's the best way to update TrackingDateTimeAdded when a row is >> inserted into the table? The DateTime needs to persist through an UNLOAD >> and INPUT. >> >> Some of these rows will be inserted by a third party via SATTACH, so it >> needs to be automated via a trigger or computed column. >> >> I tried an After Insert trigger with the Stored Procedure: >> UPDATE ShipmentTracking + >> SET TrackingDateTimeAdded = .#NOW + >> WHERE COUNT=INSERT >> >> This updated the DateTime of the previously inserted row. >> In a multi-user environment, COUNT = LAST may not update the row inserted >> by the user. >> The results using a trigger were too unpredictable to be used in >> production. >> >> A computed column using >> (IFNULL(TrackingDateTimeAdded,.#NOW,TrackingDateTimeAdded)) works until >> the database is UNOADED and INPUTted - the column then gets set to the >> DateTime of the input. >> >> TIA >> Doug >> RB X.5E 20812 >> >> -- >> This email has been checked for viruses by Avast antivirus software. >> https://www.avast.com/antivirus >> >> -- >> For group guidelines, visit >> http://www.rbase.com/support/usersgroup_guidelines.php >> --- >> You received this message because you are subscribed to the Google Groups >> "RBASE-L" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/rbase-l/0add1034-f377-c9e3-2183-d0027a6e6859%40wi.rr.com. >> >> >> >> >> >> -- >> For group guidelines, visit >> http://www.rbase.com/support/usersgroup_guidelines.php >> --- >> You received this message because you are subscribed to the Google Groups >> "RBASE-L" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> >> >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/rbase-l/!%26!AAAAAAAAAAAYAAAAAAAAAG1gU%2BA71stIig71BAFnx9iihQAAEAAAAEH4%2BR0fIvFMtLO8fsISh/8BAAAAAA%3D%3D%40vtgonline.com. >> >> >> >> >> >> -- >> For group guidelines, visit >> http://www.rbase.com/support/usersgroup_guidelines.php >> --- >> You received this message because you are subscribed to the Google Groups >> "RBASE-L" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/rbase-l/1612567935.142843.1632921106073%40mail.yahoo.com >> >> <https://groups.google.com/d/msgid/rbase-l/1612567935.142843.1632921106073%40mail.yahoo.com?utm_medium=email&utm_source=footer> >> . >> -- >> For group guidelines, visit >> http://www.rbase.com/support/usersgroup_guidelines.php >> --- >> You received this message because you are subscribed to the Google Groups >> "RBASE-L" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/rbase-l/!%26!AAAAAAAAAAAYAAAAAAAAAG1gU%2BA71stIig71BAFnx9iihQAAEAAAAIiY8xumEHFHtyWHdwg1kCYBAAAAAA%3D%3D%40vtgonline.com >> >> <https://groups.google.com/d/msgid/rbase-l/!%26!AAAAAAAAAAAYAAAAAAAAAG1gU%2BA71stIig71BAFnx9iihQAAEAAAAIiY8xumEHFHtyWHdwg1kCYBAAAAAA%3D%3D%40vtgonline.com?utm_medium=email&utm_source=footer> >> . >> >> >> >> >> ------------------------------ >> [image: Avast logo] <https://www.avast.com/antivirus> >> >> This email has been checked for viruses by Avast antivirus software. >> >> www.avast.com <https://www.avast.com/antivirus> >> >> >> <#m_4162487415996177921_m_-9108870797624154016_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >> > -- > For group guidelines, visit > http://www.rbase.com/support/usersgroup_guidelines.php > --- > You received this message because you are subscribed to the Google Groups > "RBASE-L" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/rbase-l/16ada5e3-f132-4cb9-b3d4-55013adf8129n%40googlegroups.com > > <https://groups.google.com/d/msgid/rbase-l/16ada5e3-f132-4cb9-b3d4-55013adf8129n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rbase-l/2b8fda5b-c6b7-4402-be2e-83df012f40bdn%40googlegroups.com.

