2

我有一个包含报价和产品配置的数据库,报价有一个标题表,在该表下可能有一个或多个配置。在配置中,有一些表格以一对一和一对多的阴影定义产品和硬件。如果客户希望更改报价的任何方面,则必须冻结当前报价,并使用不同的报价编号生成另一个报价。报价单号是标题表中的自动识别字段。

我写了一个冗长的克隆脚本,一开始就可以工作,但由于需要额外的列,克隆脚本很快就过时了。这使得销售支持不得不手动复制报价,这通常会导致错误。

您将如何以轻松定义关系、传播新 id 而不必明确指定每个表中的所有列的方式来处理这个问题?

4

1 回答 1

2

你可以

SELECT * 
INTO #tableN
FROM tableN
WHERE QuotationID = @OldQuotationID

到涉及的每个表的临时表中,这样您就不必知道每个表的确切架构。然后,在您创建了新的标题行并捕获了新的 QuotationId 值之后,您可以使用新的 QuotationID 更新这些表并将它们重新插入到它们来自的表中。

于 2012-08-30T04:14:42.977 回答