Declaring variable type based on a column type

2019-01-27 12:15发布

问题:

In Oracle's PL-SQL, you can declare a variable and define its type based on a table column:

declare var1 table.column%TYPE;

Is it possible to do something similar in MS SQL Server?

回答1:

No you can't do this. The closest equivalent is User-Defined Data Types. This will give you a layer of abstraction that may help, but it is not the same as deriving a type from a column.



回答2:

It may skirt the real issue, but you can "cheat" a little bit by

Select *
INTO #tmp
From MyTable
Where 1 = 0

Will automatically create a temp table with all columns with correct data types.