Search code examples
sqlsql-servert-sqlsql-server-2012visual-studio-debugging

Debug Insert and temporal tables in SQL 2012


I'm using SQL Server 2012, and I'm debugging a store procedure that do some INSERT INTO #temporal table SELECT.

There is any way to view the data selected in the command (the subquery of the insert into?) There is any way to view the data inserted and/or the temporal table where the insert maked the changes?

It doesn't matter if is the total rows, not one by one

UPDATE:

Requirements from AT Compliance and Company Policy requires that any modification can be done in the process of test and it's probable this will be managed by another team. There is any way to avoid any change on the script?

The main idea is that the AT user check in their workdesktop the outputs, copy and paste them, without make any change on environment or product.

Thanks and kind regards.


Solution

  • If I understand your question correctly, then take a look at the OUTPUT clause:

    Returns information from, or expressions based on, each row affected by an INSERT, UPDATE, DELETE, or MERGE statement. These results can be returned to the processing application for use in such things as confirmation messages, archiving, and other such application requirements.


    For instance:

    INSERT INTO #temporaltable 
    OUTPUT inserted.*
    SELECT *
    FROM ...
    

    Will give you all the rows from the INSERT statement that was inserted into the temporal table, which were selected from the other table.