我正在寻找在我们的数据库中创建临时表https://msdn.microsoft.com/en-us/library/mt604462.aspx的方法,但是我不能在几个具有计算列的表上使用。
返回的错误消息是不言自明的
但我希望有一种方法可以排除或忽略被跟踪的列?
我尝试删除创建历史记录表的计算列,然后将计算列添加回表中,但这没有用。
任何帮助表示赞赏。
谢谢
编辑-
我无法找到一种方法来忽略被跟踪的列,但是我们能够重构出使用UDF的列,从而使我们能够使用时态表。
最佳答案
我正在努力将计算列添加到现有的系统版本化的表中。万一其他有类似问题的人落在这里,我最终意识到历史表不会以相同的方式对待列。它最终类似于在基础表上具有IDENTITY列,但是这将导致历史记录表上出现常规INT字段。
如果您尝试将计算列添加到系统版本化的(时间)表中:
我觉得很奇怪,当您重新打开系统版本控制时,可能会意外省略history_table。我希望它会恢复对同一表的版本控制,或者考虑到它可能有点意外的行为而引发某种错误。
@ pasquale-ceglie-我的声誉不足以发表评论,但我想扩大您的发言范围。您应该能够将大多数计算列与时态表一起使用,只需更多地手动即可。基本上,您不能复制带有计算列的架构定义,但是可以在尝试打开所有内容之前复制生成的列并生成适当的历史记录表。这两个表之间的定义略有不同(起初让我很困惑)。我在这里订阅了,如果以上内容不清楚并且很好奇,请对我执行ping操作。
关于sql - Azure SQL Server 2016临时表中的计算列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40413759/