根据列类型声明变量类型

Ber*_* Dy 22 sql-server variables types declaration

在Oracle的PL-SQL中,您可以声明一个变量并根据表列定义其类型:

declare var1 table.column%TYPE;
Run Code Online (Sandbox Code Playgroud)

是否可以在MS SQL Server中执行类似的操作?

Red*_*ter 8

不,你不能这样做.最接近的等价物是User-Defined Data Types.这将为您提供一个可能有用的抽象层,但它与从列中派生类型不同.

  • 我希望 SqlServer 能够实现这个。当我将 INT 更改为 BIGINT 时,我必须去寻找一堆变量声明。 (3认同)
  • 真是可悲的是,2019 年它仍然可用,而且 Oracle 多年来一直拥有此功能 (3认同)
  • 我一直在寻找有关此的信息。只是想知道,八年后是否仍然如此?这个问题在2010年得到了回答,我将在2018年发布。 (2认同)

Jer*_*emy 7

它可能会绕过真正的问题,但你可以"欺骗"一点点

Select *
INTO #tmp
From MyTable
Where 1 = 0
Run Code Online (Sandbox Code Playgroud)

将自动创建包含具有正确数据类型的所有列的临时表.