2017-04-25 68 views
1

我正在使用Microsoft的SQL Server迁移助理for Oracle工具进行数据库迁移(Oracle到SQL Server)。将Oracle集合类型转换为SQL Server

但是我收到以下错误信息而进行分贝转换:

-02SS0472: Conversion of 'MY_CUSTOM_TYPE' failed because collection type is not supported; 

MY_CUSTOM_TYPE定义如下:

CREATE OR REPLACE TYPE "MY_CUSTOM_TYPE" is table of number(8); 

我想知道我怎样才能得到一个SQL Server的等价物并解决我的问题。

+0

如果您正在使用这个嵌套的表格,你会可能需要更改数据模型或使用XML。 –

回答

1

集合的普通SQL并行操作只需添加另一个表,并将外键添加回该表,并将集合中的所有值放在那里......正如Gordon建议您也可以使用XML或JSON列类型,但这种查询数据时增加了复杂性

编辑:

说你的第一个表像;

表1

标识,SomeOtherColumns,CollectionColumn

你应该现在做

表1

标识,SomeOtherColumns

表2

标识,Table1Id,CollectionContent

你会把每个元素集合到Table2中,Table1Id对应于Table1中的行它来自......这是否有意义?

所以,你将有相同数量的表1的行,但在表1每个集合的每一个项目,你将有一个排在表2

+0

您能否提供更多详细信息,我应该在哪里添加您正在谈论的外键? @Milney – Neo

+0

@Neo见编辑,稍后可以添加更多细节,但现在冲过来,希望你有想法 – Milney

+0

是的,我想我明白了,在你的例子中'表格1中的'CollectionColumn'是'MY_CUSTOM_TYPE'类型的一列吗? – Neo

相关问题