SQL Server:为XML导入创建表;使用串联列创建主键

时间:2018-11-29 16:33:25

标签: sql sql-server xml

我正在创建一个表来容纳要输入到SQL Server数据库中的XML数据。下面是我的Create Table语句的代码。我的问题是我想创建一个主键,该主键是两列(SpecNum和IssueNum)的组合。记录应如下所示(50125-001)。但是我有类型不匹配的问题,它不允许我将其声明为xml。有谁知道如何纠正这个问题?请查看下面的代码,并先谢谢您。

CREATE TABLE ImportXML (
    SpecNum xml,
    IssueNum xml,
    SpecStatus xml,
    ID as (SpecNum + '-' + IssueNum) NOT NULL PRIMARY KEY
);

1 个答案:

答案 0 :(得分:1)

50125-001不是XML,而是varchar。我怀疑您想要的是:

CREATE TABLE dbo.ImportXML (SpecNum int NOT NULL,
                            IssueNum int NOT NULL,
                            SpecStatus xml,
                            ID AS (CONVERT(varchar(10), SpecNum) + '-' + CONVERT(varchar(10), IssueNum))
                                PERSISTED NOT NULL PRIMARY KEY); --You should really define the name of the PK CONSTRAINT too