I hava one question about MS SQL server option for Navision,that is,all the table have a field named timestamp. In Enterprise Management, you can find the first field is a field named timestamp, which data type is timestamp. In genernal, we can see all other fields excluding timestamp in the object designer. why? I want to know what role does the field timestamp play in Navision server? Thanks very much!
In SQL Server, this data type is automatically assigned a consequtive unique value when inserted and whenever the record is modified. The timestamp field is used for optmistic concurrency checking, when modifying or deleting records in Navision, as it reads the timestamp value when a record is read, and when later updating/deleting compares the one it read with the one now in the record. If the timestamp is greater, someone has altered it since you read it. (Note: it is not a time or a date stamp; its just an 8-byte binary value). From SQL Server 2000 this has been renamed a ‘rowversion’ data type, but the ‘timestamp’ type name will be around a while. It is not in the table definition in Table Designer because it is not a C/SIDE data type and cannot be manipulated in Navision. Just to clarify, there is no equivelant type in Navision Server (native), where optimisitic currency is handled differently.