【发布时间】:2021-07-04 16:36:21
【问题描述】:
我试图在 SQL 中同时更新多个表。我有一个包含 ProductName 和 ProductTypeID 的 Products 表。我还有另一个名为 ProductCategory 的表,其中包含 ProductTypeID 作为主键和完整的产品类型名称。例如,
Products Table
ProductName ProductTypeID Price ...
Bananas FR 0.79 ...
Milk DR 2.19 ...
... ... ... ...
和
ProductCategory Table
ProductType CategoryName
FR Fruit
DR Dairy
... ...
在我的数据库中,水果和蔬菜部分是组合类别,所以我希望“水果”变成“农产品”,“FR”变成“公关”。但是,对于多表配置,我正在努力寻找一种方法来做到这一点。我一直在使用存储过程,因为这似乎是完成此任务的最简单方法。
结果如下所示:
Products Table
ProductName ProductTypeID Price ...
Bananas PR 0.79 ...
Milk DR 2.19 ...
... ... ... ...
和
ProductCategory Table
ProductType CategoryName
Produce PR
DR Dairy
... ...
【问题讨论】:
-
所以我想让“Fruit”变成“Produce”,“FR”变成“PR”不明白——“Produce”和“PR”在哪里, 你的意思是。包括你到目前为止的程序。不清楚你在问什么。
-
您需要显示示例数据(最好是 DDL+DML)、您想要的结果(格式文本)和您的尝试。目前还不清楚你在问什么。
-
@DaleK 抱歉,我现在提供了一些想要的结果
-
@user15585845 仍然看不到您的尝试。你确定你没有以错误的方式得到你想要的结果吗?解决方案不只是几个更新语句吗?您不应该真正使用类别代码作为您的 PK,您应该有一个独立的 PK,这样您就可以修改类别名称而无需更新任何产品。
标签: sql sql-server tsql sql-update