0

我有一个 SQL 服务器数据库设计问题。

我有一个现有的数据库表,其中包含数百条记录。其中一列是 NVARCHAR 类型,但它应该是一个整数,包含查找表中的所有数据。

SQL Server 中是否有任何巧妙的方法可以将数据从列中取出并放入新的查找表中,更改列的数据类型并使用新查找表中的正确 ID 更新值?

提前致谢。

我正在使用 SQL Server 2008

4

1 回答 1

3

不,您必须按照 3 个步骤进行操作:

  1. 将值插入新的查找表
  2. 更新当前行,以便该nvarchar列现在包含查找表中的适当 ID 值
  3. 将列定义更改为int
  4. (4th of 3 :-)) 在该列和查找表的 ID 列之间创建外键约束。

值得庆幸的是,int值应该始终能够放入 中nvarchar,除非它特别小(在这种情况下,您必须先扩展它)。

于 2012-08-24T13:30:49.410 回答