【发布时间】:2013-03-13 14:24:50
【问题描述】:
这是我在 C# 程序中很容易做到的事情,但在 SQL 中,好吧,我不知道你是否可以。
我有一个表格格式。该表具有“文件名”和“大小”。我想用外键将它们移动到新表 DigitalFormat 中。
到目前为止,我已经完成了简单的部分:
CREATE TABLE FormatDigital
(
FormatDigitalId uniqueidentifier NOT NULL,
Filename nvarchar(MAX) NOT NULL,
Size int NOT NULL
PRIMARY KEY (FormatDigitalId)
);
ALTER TABLE Formats
ADD FormatDigital uniqueidentifier
GO
ALTER TABLE Formats
ADD CONSTRAINT FK_FormatDigital_FormatDigital FOREIGN KEY (FormatDigital)
REFERENCES FormatDigital(FormatDigitalId);
我现在想要获取 Formats 中的所有记录,在 FormatDigital 中创建新条目,并确保 Format.FormatDigitalId 外键指向正确的 ID。
这是您可以在 SQL 中执行的操作吗?或者我应该只是连接一个 C# 程序并变得很棒?
【问题讨论】:
-
格式中每一行的文件名和大小是否唯一?
-
您是否有理由添加一个全新的表,但只是复制数据,而不是在“格式”中添加一个新列以指示该格式是数字格式?
-
我认为文件名和大小不是唯一的?也许不是这样,好问题,杰森。
-
Formats有唯一标识符吗? -
Kyle:不,这只是一些随机数据(只是文本)。 Jason:是的,我们将有一些其他表格而不是数字表格,还有很多其他信息(否则基本上会一团糟) Lomak:谢谢 PinnyM:是的
标签: sql sql-server-2008 sql-update