30.06.2013 Views

SQL Server Execution Plans - Red Gate Software

SQL Server Execution Plans - Red Gate Software

SQL Server Execution Plans - Red Gate Software

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 7: Special Datatypes and <strong>Execution</strong> <strong>Plans</strong><br />

SELECT CurrencyCode ,<br />

CurrencyName ,<br />

GETDATE()<br />

FROM OPENXML (@iDoc, 'ROOT/Currency',1)<br />

WITH ( CurrencyCode NCHAR(3), CurrencyName NVARCHAR(50) )<br />

INSERT INTO Sales.CurrencyRate<br />

( CurrencyRateDate ,<br />

FromCurrencyCode ,<br />

ToCurrencyCode ,<br />

AverageRate ,<br />

EndOfDayRate ,<br />

ModifiedDate<br />

)<br />

SELECT CurrencyRateDate ,<br />

FromCurrencyCode ,<br />

ToCurrencyCode ,<br />

AverageRate ,<br />

EndOfDayRate ,<br />

GETDATE()<br />

FROM OPENXML(@iDoc , 'ROOT/Currency/CurrencyRate',2)<br />

WITH ( CurrencyRateDate DATETIME '@CurrencyRateDate',<br />

FromCurrencyCode NCHAR(3) '@FromCurrencyCode',<br />

ToCurrencyCode NCHAR(3) '@ToCurrencyCode',<br />

AverageRate MONEY '@AverageRate',<br />

EndOfDayRate MONEY '@EndOfDayRate' )<br />

EXEC sp_xml_removedocument @iDoc<br />

ROLLBACK TRAN<br />

Listing 7.11<br />

From this query, we get two actual execution plans, one for each INSERT. The first<br />

INSERT is against the Currency table, as shown in Figure 7.6<br />

268

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!