有没有办法将变量类型绑定到列数据类型?

时间:2010-08-06 14:17:44

标签: sql-server database sql-server-2005 oracle tsql

在Oracle PL / SQL中,您始终可以将代码变量的类型绑定到特定的table.column类型,如下所示:

myVar TABLE.COLUMN%TYPE

因此,如果更改列的类型,则不必重新编写代码来重新定义相关的var类型(当然,您仍然需要检查是否正确使用了变量)。

在SQL Server 2005中是否有类似的方法来定义它?

3 个答案:

答案 0 :(得分:3)

如果有的话,我想知道但是根据我的经验到目前为止:

  • %TYPE
  • %ROWTYPE

...不受支持,在TSQL中没有替代品。

答案 1 :(得分:1)

不,你不能在SQL Server中这样做。

最接近我能想到的是使用用户定义的类型来“掩盖”底层类型。但恕我直言,这不是你想要的理想。 或者sql_variant是:

  

存储值的数据类型   各种SQL Server支持的数据   类型。

但是,这真的是一个混乱(有局限性)。

答案 2 :(得分:0)

如果您是绝望的,可以使用“sql_variant”数据类型。但是,它使用起来可能很尴尬,而且对我来说似乎总是很糟糕。