如何在SQL Server的联结/链接表中插入值?

时间:2018-09-11 16:23:21

标签: sql sql-server database-design relational-database

我很乐意退回this question,以创建联结/链接表。很明显如何创建联结表,但是我担心如何用数据填充联结表。用两个其他表(电影,作家)之间的数据填充联结表(电影_作家_结)的最简单和/或最佳方法是什么

__str__

最终联结表当前为空。这是一个简单的示例,您可以手动将数据填充到联结表中,但是如果我有两个包含数百万行的表,那么如何完成这样的事情?

1 个答案:

答案 0 :(得分:1)

嗨,我猜这与您不能依赖不同区域中的“身份列”相同这一事实有关。

您可以通过2个src表中的交叉连接来编写插入内容

Insert junc_table (writer_id, movie_id)
Select writer_id , movie_id
from writer 
CROSS Join 
movie
where writer_name = 'Tolkien' and movie_name = 'Lord of the Ring'

这样,您始终可以从两个表中获取正确的代理密钥(身份)。 使用一点动态SQL为所有现有的联结组合生成SQL语句非常容易

另一种方法是使用SET IDENTITY_INSERT ON-但这需要在加载其他两个表时完成,并且该船可能已经航行了!