是否有一种干净的方式来确定表中的行大小,然后再向其中添加新的列并且不超过8060字节限制?例如,如果表行长度当前为8055字节,并且我想添加日期时间(8个字节),则这将会越过,因为它将变为8063个字节(不包括空映射)。但是,如果我添加一个整数(4个字节),这会给它8059个字节,这符合表大小(不包括空映射)。SQL Server 2005 - 到达表行大小限制
我目前能够获得表的大小,但是我发现很难创建一个SQL函数来获取数据类型的大小(int,datetime等)以及数据类型是否需要额外的字节映射。
是否有一个函数我可以使用/开发接受两个变量:tablename和datatype:fnIsEnoughStorage('table1',int)并从标量函数返回一个布尔值(是/否)。
如果为true,我将在测试确定后继续执行ALTER TABLE命令。
如果我的一张桌子有超过8k的限制,我会认真看待设计。 –
你是否真的通过找出你可以添加到哪些数据类型来设计你的表格,而不是通过分析需要存储哪些数据? –