﻿<ShowPlanXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.5" Build="13.0.1601.5" xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan">
  <BatchSequence>
    <Batch>
      <Statements>
        <StmtSimple StatementCompId="1" StatementId="1" StatementText=" SET NOCOUNT ON&#xD;&#xA;" StatementType="SET ON/OFF" RetrievedFromCache="false" />
      </Statements>
      <Statements>
        <StmtCursor StatementCompId="2" StatementId="2" StatementText="DECLARE @Id int&#xD;&#xA;DECLARE @name varchar(50)&#xD;&#xA;DECLARE @salary int&#xD;&#xA; DECLARE cur_emp CURSOR&#xD;&#xA;STATIC FOR &#xD;&#xA;SELECT EmpID,EmpName,Salary from Employee" StatementType="DECLARE CURSOR" RetrievedFromCache="false">
          <CursorPlan CursorName="cur_emp" CursorActualType="SnapShot" CursorRequestedType="SnapShot" CursorConcurrency="Read Only" ForwardOnly="false">
            <Operation OperationType="PopulateQuery">
              <QueryPlan CachedPlanSize="40" CompileTime="5" CompileCPU="5" CompileMemory="192">
                <MemoryGrantInfo SerialRequiredMemory="0" SerialDesiredMemory="0" />
                <OptimizerHardwareDependentProperties EstimatedAvailableMemoryGrant="206734" EstimatedPagesCached="51683" EstimatedAvailableDegreeOfParallelism="2" />
                <RelOp AvgRowSize="48" EstimateCPU="5E-06" EstimateIO="0.01" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row" EstimateRows="5" LogicalOp="Insert" NodeId="0" Parallel="false" PhysicalOp="Clustered Index Insert" EstimatedTotalSubtreeCost="0.013293">
                  <OutputList>
                    <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpID" />
                    <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpName" />
                    <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="Salary" />
                    <ColumnReference Column="Expr1004" />
                  </OutputList>
                  <Update DMLRequestSort="false">
                    <Object Database="[tempdb]" Index="[CWT_PrimaryKey]" Storage="RowStore" />
                    <SetPredicate>
                      <ScalarOperator ScalarString="[CWT].[COLUMN0] = [Northwind].[dbo].[Employee].[EmpID],[CWT].[COLUMN1] = [Northwind].[dbo].[Employee].[EmpName],[CWT].[COLUMN2] = [Northwind].[dbo].[Employee].[Salary],[CWT].[ROWID] = [Expr1004]">
                        <ScalarExpressionList>
                          <ScalarOperator>
                            <MultipleAssign>
                              <Assign>
                                <ColumnReference Table="[CWT]" Column="COLUMN0" />
                                <ScalarOperator>
                                  <Identifier>
                                    <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpID" />
                                  </Identifier>
                                </ScalarOperator>
                              </Assign>
                              <Assign>
                                <ColumnReference Table="[CWT]" Column="COLUMN1" />
                                <ScalarOperator>
                                  <Identifier>
                                    <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpName" />
                                  </Identifier>
                                </ScalarOperator>
                              </Assign>
                              <Assign>
                                <ColumnReference Table="[CWT]" Column="COLUMN2" />
                                <ScalarOperator>
                                  <Identifier>
                                    <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="Salary" />
                                  </Identifier>
                                </ScalarOperator>
                              </Assign>
                              <Assign>
                                <ColumnReference Table="[CWT]" Column="ROWID" />
                                <ScalarOperator>
                                  <Identifier>
                                    <ColumnReference Column="Expr1004" />
                                  </Identifier>
                                </ScalarOperator>
                              </Assign>
                            </MultipleAssign>
                          </ScalarOperator>
                        </ScalarExpressionList>
                      </ScalarOperator>
                    </SetPredicate>
                    <RelOp AvgRowSize="48" EstimateCPU="4E-07" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row" EstimateRows="5" LogicalOp="Compute Scalar" NodeId="1" Parallel="false" PhysicalOp="Sequence Project" EstimatedTotalSubtreeCost="0.003288">
                      <OutputList>
                        <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpID" />
                        <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpName" />
                        <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="Salary" />
                        <ColumnReference Column="Expr1004" />
                      </OutputList>
                      <SequenceProject>
                        <DefinedValues>
                          <DefinedValue>
                            <ColumnReference Column="Expr1004" />
                            <ScalarOperator ScalarString="i4_row_number">
                              <Sequence FunctionName="i4_row_number" />
                            </ScalarOperator>
                          </DefinedValue>
                        </DefinedValues>
                        <RelOp AvgRowSize="48" EstimateCPU="1E-07" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row" EstimateRows="5" LogicalOp="Segment" NodeId="2" Parallel="false" PhysicalOp="Segment" EstimatedTotalSubtreeCost="0.0032876">
                          <OutputList>
                            <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpID" />
                            <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpName" />
                            <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="Salary" />
                            <ColumnReference Column="Segment1005" />
                          </OutputList>
                          <Segment>
                            <GroupBy />
                            <SegmentColumn>
                              <ColumnReference Column="Segment1005" />
                            </SegmentColumn>
                            <RelOp AvgRowSize="44" EstimateCPU="0.0001625" EstimateIO="0.003125" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row" EstimateRows="5" LogicalOp="Clustered Index Scan" NodeId="3" Parallel="false" PhysicalOp="Clustered Index Scan" EstimatedTotalSubtreeCost="0.0032875" TableCardinality="5">
                              <OutputList>
                                <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpID" />
                                <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpName" />
                                <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="Salary" />
                              </OutputList>
                              <IndexScan Ordered="false" ForcedIndex="false" ForceScan="false" NoExpandHint="false" Storage="RowStore">
                                <DefinedValues>
                                  <DefinedValue>
                                    <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpID" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="EmpName" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Column="Salary" />
                                  </DefinedValue>
                                </DefinedValues>
                                <Object Database="[Northwind]" Schema="[dbo]" Table="[Employee]" Index="[PK__Employee__AF2DBA7901F09D04]" IndexKind="Clustered" Storage="RowStore" />
                              </IndexScan>
                            </RelOp>
                          </Segment>
                        </RelOp>
                      </SequenceProject>
                    </RelOp>
                  </Update>
                </RelOp>
              </QueryPlan>
            </Operation>
            <Operation OperationType="FetchQuery">
              <QueryPlan NonParallelPlanReason="CouldNotGenerateValidParallelPlan" CachedPlanSize="40" CompileTime="0" CompileCPU="0" CompileMemory="168">
                <MemoryGrantInfo SerialRequiredMemory="0" SerialDesiredMemory="0" />
                <OptimizerHardwareDependentProperties EstimatedAvailableMemoryGrant="206734" EstimatedPagesCached="51683" EstimatedAvailableDegreeOfParallelism="2" />
                <RelOp AvgRowSize="48" EstimateCPU="0.0001581" EstimateIO="0.003125" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row" EstimateRows="1" LogicalOp="Clustered Index Seek" NodeId="0" Parallel="false" PhysicalOp="Clustered Index Seek" EstimatedTotalSubtreeCost="0.0032831" TableCardinality="0">
                  <OutputList>
                    <ColumnReference Table="[CWT]" Column="COLUMN0" />
                    <ColumnReference Table="[CWT]" Column="COLUMN1" />
                    <ColumnReference Table="[CWT]" Column="COLUMN2" />
                    <ColumnReference Table="[CWT]" Column="ROWID" />
                  </OutputList>
                  <IndexScan Ordered="true" ScanDirection="FORWARD" ForcedIndex="false" ForceSeek="false" ForceScan="false" NoExpandHint="false" Storage="RowStore">
                    <DefinedValues>
                      <DefinedValue>
                        <ColumnReference Table="[CWT]" Column="COLUMN0" />
                      </DefinedValue>
                      <DefinedValue>
                        <ColumnReference Table="[CWT]" Column="COLUMN1" />
                      </DefinedValue>
                      <DefinedValue>
                        <ColumnReference Table="[CWT]" Column="COLUMN2" />
                      </DefinedValue>
                      <DefinedValue>
                        <ColumnReference Table="[CWT]" Column="ROWID" />
                      </DefinedValue>
                    </DefinedValues>
                    <Object Database="[tempdb]" Index="[CWT_PrimaryKey]" Storage="RowStore" />
                    <SeekPredicates>
                      <SeekPredicateNew>
                        <SeekKeys>
                          <Prefix ScanType="EQ">
                            <RangeColumns>
                              <ColumnReference Table="[CWT]" Column="ROWID" />
                            </RangeColumns>
                            <RangeExpressions>
                              <ScalarOperator ScalarString="FETCH_RANGE((0))">
                                <Intrinsic FunctionName="FETCH_RANGE">
                                  <ScalarOperator>
                                    <Const ConstValue="(0)" />
                                  </ScalarOperator>
                                </Intrinsic>
                              </ScalarOperator>
                            </RangeExpressions>
                          </Prefix>
                        </SeekKeys>
                      </SeekPredicateNew>
                    </SeekPredicates>
                  </IndexScan>
                </RelOp>
              </QueryPlan>
            </Operation>
          </CursorPlan>
        </StmtCursor>
      </Statements>
      <Statements>
        <StmtCursor StatementCompId="3" StatementId="3" StatementText="&#xD;&#xA;OPEN cur_emp&#xD;&#xA;" StatementType="OPEN CURSOR" RetrievedFromCache="false">
          <CursorPlan CursorName="cur_emp" />
        </StmtCursor>
      </Statements>
      <Statements>
        <StmtCond StatementCompId="4" StatementId="4" StatementText="IF @@CURSOR_ROWS &gt; 0" StatementType="COND" RetrievedFromCache="false">
          <Condition />
          <Then>
            <Statements>
              <StmtCursor StatementCompId="5" StatementId="5" StatementText="&#xD;&#xA; BEGIN &#xD;&#xA; FETCH NEXT FROM cur_emp INTO @Id,@name,@salary&#xD;&#xA; " StatementType="FETCH CURSOR" RetrievedFromCache="false">
                <CursorPlan CursorName="cur_emp" />
              </StmtCursor>
              <StmtCond StatementCompId="6" StatementId="6" StatementText="WHILE @@Fetch_status = 0" StatementType="COND" RetrievedFromCache="false">
                <Condition />
                <Then>
                  <Statements>
                    <StmtSimple StatementCompId="7" StatementId="7" StatementText="&#xD;&#xA; BEGIN&#xD;&#xA; PRINT 'ID : '+ convert(varchar(20),@Id)+', Name : '+@name+ ', Salary : '+convert(varchar(20),@salary)&#xD;&#xA; " StatementType="PRINT" RetrievedFromCache="false" />
                    <StmtCursor StatementCompId="8" StatementId="8" StatementText="FETCH NEXT FROM cur_emp INTO @Id,@name,@salary&#xD;&#xA; " StatementType="FETCH CURSOR" RetrievedFromCache="false">
                      <CursorPlan CursorName="cur_emp" />
                    </StmtCursor>
                  </Statements>
                </Then>
              </StmtCond>
            </Statements>
          </Then>
        </StmtCond>
      </Statements>
      <Statements>
        <StmtCursor StatementCompId="12" StatementId="9" StatementText="END&#xD;&#xA;END&#xD;&#xA;CLOSE cur_emp&#xD;&#xA;" StatementType="CLOSE CURSOR" RetrievedFromCache="false">
          <CursorPlan CursorName="cur_emp" />
        </StmtCursor>
      </Statements>
      <Statements>
        <StmtCursor StatementCompId="13" StatementId="10" StatementText="DEALLOCATE cur_emp&#xD;&#xA;" StatementType="DEALLOCATE CURSOR" RetrievedFromCache="false">
          <CursorPlan CursorName="cur_emp" />
        </StmtCursor>
      </Statements>
      <Statements>
        <StmtSimple StatementCompId="14" StatementId="11" StatementText="SET NOCOUNT OFF " StatementType="SET ON/OFF" RetrievedFromCache="false" />
      </Statements>
    </Batch>
  </BatchSequence>
</ShowPlanXML>