将数据插入到几个表中 - 可能使用OUTPUT - sql server 2005

时间:2010-07-20 12:28:54

标签: sql-server sql-server-2005 tsql

我想将文件中的数据插入到此模型的表格中,该模型非常简化:

create table Statements (
        Id INT IDENTITY NOT NULL
       primary key (Id)
    )

create table Item (
        StatementFk INT not null,
       ItemNameFk INT not null,
       primary key (StatementFk)
    )

create table ItemNames (
        Id INT not null,
       Name NVARCHAR(255) null unique,
       primary key (Id)
    )

create table Division (
        ItemFk INT not null,
       primary key (ItemFk)
    )

alter table Item 
        add constraint FKBCDC2F95A77158D3 
        foreign key (StatementFk) 
        references Statements

    alter table Item 
        add constraint FKBCDC2F957105B2A7 
        foreign key (ItemNameFk) 
        references ItemNames

alter table TaxonomyDivision 
        add constraint FKCFB817265F647111 
        foreign key (ItemFk) 
        references Item

这里Division是Item的子对象,Item是Statements的子对象。原始数据如下所示:

Division1
Division2
Division1
Division3

结果应为:

ItemNames
1, Division1
2, Division2
3, Division3

Statements
1
2
3
4

Item
1,1
2,2
3,1
4,3

Division
1
2
3
4

我认为前进的方法是使用OUTPUT,但我不知道如何在这个相当复杂的情况下使用它(我知道如何进行批量插入等)。

期待任何反馈。感谢。

祝福,

基督教

1 个答案:

答案 0 :(得分:0)

我目前正在使用循环来实现这一点,这是一种解决方案,但速度很慢。真的没有基于设定的方法吗?谢谢!

基督教