Delen via


Zelfstudie: Tijdreizen met T-SQL op instructieniveau

In dit artikel leert u hoe u tijdreizen in uw magazijn kunt uitvoeren op instructieniveau met behulp van T-SQL. Met deze functie kunt u gegevens opvragen zoals deze in het verleden zijn weergegeven, binnen een retentieperiode.

Notitie

Momenteel wordt alleen de UTC-tijdzone (Coordinated Universal Time) gebruikt voor tijdreizen.

Tijdreizen

In dit voorbeeld werken we een rij bij en laten we zien hoe u eenvoudig een query kunt uitvoeren op de vorige waarde met behulp van de FOR TIMESTAMP AS OF queryhint.

  1. Selecteer nieuwe SQL-query op het tabblad Start van het lint.

    Schermopname van de Fabric-portal van de knop Nieuwe SQL-query.

  2. Plak de volgende code in de query-editor om de weergave Top10CustomerViewte maken. Selecteer Uitvoeren om de query uit te voeren.

    CREATE VIEW dbo.Top10CustomersView
    AS
    SELECT TOP (10)
        FS.[CustomerKey],
        DC.[Customer],
        SUM(FS.TotalIncludingTax) AS TotalSalesAmount
    FROM
        [dbo].[dimension_customer] AS DC
    INNER JOIN
        [dbo].[fact_sale] AS FS ON DC.[CustomerKey] = FS.[CustomerKey]
    GROUP BY
        FS.[CustomerKey],
        DC.[Customer]
    ORDER BY
        TotalSalesAmount DESC;
    
  3. Controleer in Explorer of u de zojuist gemaakte weergave Top10CustomersView kunt zien door het knooppunt Weergave onder dbo schema uit te vouwen.

    Schermopname van de afbeelding van de gebruiker.

  4. Maak nog een nieuwe query, vergelijkbaar met stap 1. Selecteer nieuwe SQL-query op het tabblad Start van het lint.

  5. Plak de volgende code in de query-editor. Hiermee wordt de TotalIncludingTax kolomwaarde bijgewerkt naar 200000000 de record met de SaleKey waarde van 22632918. Selecteer Uitvoeren om de query uit te voeren.

    /*Update the TotalIncludingTax value of the record with SaleKey value of 22632918*/
    UPDATE [dbo].[fact_sale]
    SET TotalIncludingTax = 200000000
    WHERE SaleKey = 22632918;
    
  6. Plak de volgende code in de query-editor. De CURRENT_TIMESTAMP T-SQL-functie retourneert de huidige UTC-tijdstempel als een datum/tijd. Selecteer Uitvoeren om de query uit te voeren.

    SELECT CURRENT_TIMESTAMP;
    
  7. Kopieer de tijdstempelwaarde die wordt geretourneerd naar het Klembord.

  8. Plak de volgende code in de query-editor en vervang de tijdstempelwaarde door de huidige tijdstempelwaarde die is verkregen uit de vorige stap. De syntaxisnotatie van de tijdstempel is YYYY-MM-DDTHH:MM:SS[.FFF].

  9. Verwijder de volgnullen, bijvoorbeeld: 2024-04-24T20:59:06.097.

  10. In het volgende voorbeeld wordt de lijst met tien belangrijkste klanten TotalIncludingTaxgeretourneerd, inclusief de nieuwe waarde voor SaleKey 22632918. Selecteer Uitvoeren om de query uit te voeren.

    /*View of Top10 Customers as of today after record updates*/
    SELECT *
    FROM [WideWorldImporters].[dbo].[Top10CustomersView]
    OPTION (FOR TIMESTAMP AS OF '2024-04-24T20:59:06.097');
    
  11. Plak de volgende code in de query-editor en vervang de tijdstempelwaarde in een tijd voordat u het updatescript uitvoert om de TotalIncludingTax waarde bij te werken. Hiermee wordt de lijst met tien belangrijkste klanten geretourneerd voordat de TotalIncludingTax lijst voor SaleKey 22632918 is bijgewerkt. Selecteer Uitvoeren om de query uit te voeren.

    /*View of Top10 Customers as of today before record updates*/
    SELECT *
    FROM [WideWorldImporters].[dbo].[Top10CustomersView]
    OPTION (FOR TIMESTAMP AS OF '2024-04-24T20:49:06.097');
    

Voor meer voorbeelden gaat u naar Procedure: Query's uitvoeren op tijdreizen op instructieniveau.

Volgende stap