Table variables

Table variables are emulated via temporary tables. As distributed temporary tables are more performant than MDF-backed ones, SQL Tran defaults to distributed ones (but usage pattern analysis may let us choose non-distributed one if the resulting code requires less other emulations).


Code examples

SQL Server:

DECLARE @MyTableVar TABLE (
    ID INT,
    Name NVARCHAR(50)
);

INSERT INTO @MyTableVar (ID, Name)
VALUES 
    (1, 'John Doe'), 
    (2, 'Jane Doe');

Fabric Warehouse (generated by SQL Tran):

CREATE TABLE #MyTableVar (
	ID INT, Name VARCHAR(100)
) WITH (DISTRIBUTION=ROUND_ROBIN);
    
INSERT INTO #MyTableVar (ID, Name)
VALUES 
    (1, 'John Doe'), 
    (2, 'Jane Doe');

SQL Server:

DECLARE @MyTableVar TABLE (
    ID INT IDENTITY(1,1),
    Name NVARCHAR(50)
);

INSERT INTO @MyTableVar (Name)
VALUES ('John Doe'), ('Jane Doe');

Fabric Warehouse (generated by SQL Tran):

CREATE TABLE #MyTableVar (
    ID INT IDENTITY (1, 1), Name NVARCHAR(50)
)

INSERT INTO #MyTableVar (Name)
VALUES ('John Doe'), ('Jane Doe');

Last updated