top of page

Timestamp Dummy

(alle Versionen/all versions)

Freitag, 1. Januar 2021

TSQL "TimeStamp" dummy


Verwendung von T-SQL-Funktionen zur Simulation eines Hashs / Timestamp-Feldes

Für Fälle, in denen z.B. externe Daten, die über kein "TimeStamp"-Feld verfügen, in eine Umgebung eingebunden werden sollen, die jedoch für alle Entitäten ein "TimeStamp"-Feld verlangt, kann mittels SQL-Synonymen und SQL-Sichten sehr leicht ein Dummy-"TimeStamp"-Feld bereitgestellt werden.

Dies eignet sich für reine lesende Datenzugriffe, z.B. im Sage ERP-System als Datenquelle für eine Sage ERP AppDesigner Liste.


Using T-SQL functions to simulate a hash/timestamp field

For cases in which, for example, external data - which might not have a "TimeStamp" field - is to be integrated into an environment that requires a "TimeStamp" field for all entities, it is very easy to use SQL synonyms and SQL views to provide a dummy "TimeStamp" field.

This is suitable for read data access only, e.g. in the Sage ERP system as a data source for a Sage ERP AppDesigner list.


CREATE VIEW [dbo].[qrySAGMyAppDesignerView] AS
-- Zugriff auf externe Datenbank über Synonym und Linked Server.
-- Der Security-Kontext wird von dem im Linked Server festgelegten Benutzer festgelegt.
-- Reiner lesender Zugriff!
SELECT
M.*
-- Simulate Sage ERP Timestamp field:
,CAST(ROW_NUMBER() OVER(ORDER BY M.ID ASC) AS timestamp) AS [Timestamp]
-- data source
FROM [dbo].[SAGMySynonym] AS M WITH(Readuncommitted)

GO

TSQL Synonym

-- Example for SQL synonym
 
CREATE SYNONYM [dbo].[SAGMySynonym] FOR [MyLinkedServer].[MyExternalDatabase].[dbo].[MyExternalSqlSourceObject]
 
GO
 
IF EXISTS ( SELECT TOP 1 [Name] FROM sys.views WITH(Readuncommitted) WHERE object_id = OBJECT_ID(N'[dbo].[qrySAGMyAppDesignerView]') )
BEGIN
 
  DROP VIEW [dbo].[qrySAGMyAppDesignerView]
 
END
 
GO

bottom of page