1
我有两个表:WordForm和WordDefinition:如何将数据从父项的一列移动到新的子表中?
CREATE TABLE [dbo].[WordForm] (
[WordFormId] VARCHAR (20) NOT NULL,
[WordId] VARCHAR (20) NOT NULL,
[Primary] BIT DEFAULT ((0)) NOT NULL,
[PosId] INT NOT NULL,
-- I want to move text data from this column into
-- the WordDefinition table column called Definition
-- and then I will remove the column from here later.
[Definition] VARCHAR (MAX) NULL,
[Sample] VARCHAR (MAX) NULL,
[Synonym] VARCHAR (100) NULL,
PRIMARY KEY CLUSTERED ([WordFormId] ASC),
CONSTRAINT [FK_WordFormPos] FOREIGN KEY ([PosId]) REFERENCES [dbo].[Pos] ([PosId]),
CONSTRAINT [FK_WordFormWord] FOREIGN KEY ([WordId]) REFERENCES [dbo].[Word] ([WordId])
);
CREATE TABLE [dbo].[WordDefinition]
(
[WordDefinitionId] INT IDENTITY (1, 1) NOT NULL,
[WordFormId] VARCHAR (20) NOT NULL,
[Definition] VARCHAR (MAX) NOT NULL
CONSTRAINT [PK_WordDefinition] PRIMARY KEY CLUSTERED ([WordDefinitionId] ASC),
)
最初WordForm表创建持有单一定义,但现在我知道有可能是每个WordForm更多的定义。
为了实现这个,我添加了WordDefinition表。一个WordForm行到许多WordDefinition行。
但现在我需要做的是通过WordForm表并添加一个条目与原始定义(从WordForm),并将其复制到WordForm中的每一行WordDefinition表中。
这是我只能用SQL做的事情,还是我需要使用游标。任何帮助和建议如何做到这一点将不胜感激。
谢谢。我会试试这个,稍后再更新这个问题。 – Alan2
@Alan ok现在很快要说谢谢,只是尝试它,请让我知道它是否有效。 –