请考虑以下方案。
方案 1
假定 MyDateTime 数据类型在 $ 存储中所占 9 个字节。- 在 SQL Server 管理 Studio,创建一个新表,通过运行下面的语句中包含一列 VARBINARY(9) 数据类型:
CREATE TABLE TempTable (c1 VARBINARY(9))
- 运行以下的 INSERT … SELECT 语句,以填充 TempTable 表:
INSERT INTO TempTable SELECT CAST(c1 as VARBINARY(9)) FROM MyTable
- 在 SQL Server 管理 Studio,请按照下列步骤操作:
- 删除 MyTable 表。
- 除去 MyDateTime 数据类型。
- 除去 System.DirectoryServices.dll 程序集。
- 除去 MyAssembly 程序集。
- 在 SQL Server 管理 Studio,请按照下列步骤操作:
- 注册 System.DirectoryServices.dll 程序集。
- 注册 MyAssembly 程序集。
- 创建 MyDateTime 数据类型。
- 创建一个具有相同的表结构,作为 MyTable 表的新表。
- 运行以下的 INSERT … SELECT 语句,以填充 MyTable 表:
INSERT INTO MyTable SELECT c1 FROM TempTable
本文介绍了一种在SQL Server中将自定义数据类型MyDateTime从一个表迁移到另一个表的方法。首先,将原始表的数据转换并存储到临时表中,接着移除旧的数据类型和相关组件,再重新注册必要的程序集,创建新的数据类型,并将数据从临时表迁移回新创建的表。
2065

被折叠的 条评论
为什么被折叠?



