Sql server SQL Server中%TYPE的替代项

Sql server SQL Server中%TYPE的替代项,sql-server,oracle,tsql,plsql,Sql Server,Oracle,Tsql,Plsql,在Oracle中,我们使用%TYPE创建变量,以便变量的数据类型与列的数据类型相同 范例 c_FolderType Folder.FolderType%TYPE; c_FolderYear Folder.FolderYear%TYPE; 我可以知道如何在SQL Server中处理它吗。SQL Server中是否有类似的选项,或者唯一的选项是手动分配数据类型这是一种语言扩展,不是SQL的标准(ansi)部分。Sql Server不执行此操作,需要您手动设置类型。这是一种语言扩展,不是Sql的标准

在Oracle中,我们使用%TYPE创建变量,以便变量的数据类型与列的数据类型相同

范例

c_FolderType Folder.FolderType%TYPE;
c_FolderYear Folder.FolderYear%TYPE;

我可以知道如何在SQL Server中处理它吗。SQL Server中是否有类似的选项,或者唯一的选项是手动分配数据类型这是一种语言扩展,不是SQL的标准(ansi)部分。Sql Server不执行此操作,需要您手动设置类型。

这是一种语言扩展,不是Sql的标准(ansi)部分。Sql Server不执行此操作,需要您手动设置类型。

您需要定义数据类型,因为您需要
声明
变量,然后才能分配给它。虽然
sql\u变量
数据类型确实存在,但不建议使用它,因为它附带(许多)警告,并且仍然需要您在某个时候定义类型;如果这是你要迁移到的版本,我建议在升级之前先升级。2012年也只是在扩展支持中,所以你仍然应该这样做。@Larnu-谢谢你的旁注,我们使用的是SQL Server 2017。那么你不应该真的在发布问题时添加标签。幸运的是,Joel删除了它们,但标记旧版本的产品,尤其是当您使用的是更新的产品时,只会对您造成损害。始终确保正确标记。您需要定义数据类型,因为在分配变量之前,您需要声明变量。虽然
sql\u变量
数据类型确实存在,但不建议使用它,因为它附带(许多)警告,并且仍然需要您在某个时候定义类型;如果这是你要迁移到的版本,我建议在升级之前先升级。2012年也只是在扩展支持中,所以你仍然应该这样做。@Larnu-谢谢你的旁注,我们使用的是SQL Server 2017。那么你不应该真的在发布问题时添加标签。幸运的是,Joel删除了它们,但标记旧版本的产品,尤其是当您使用的是更新的产品时,只会对您造成损害。始终确保正确标记。