我有一个包含大量列的表。
有一个主键是ID作为int数据类型而没有外键。这个PK是用身份规范设置的,增量和种子都设置为1,无论这意味着什么。对于Not For Replication,它设置为Yes。还有另外两个重要的行,数据的年份和参考号,我将使用它们来专门选择要复制的行。
有没有办法使用SQL或SQL和C#的组合来按引用号复制一组特定的行,并为每一行分配一个唯一的主键ID?每次复制的行数可能不同,因此需要灵活。因为系统在没有任何问题的情况下选择ID或者可能获得最大ID,并且对于复制的每一行或其他任何内容将其递增1。我还要在专栏中放一个新的一年,但这比通过这种类型的列的SQL语句让它为每一行设置主键ID的主要问题更容易...
请帮忙!我不是一个完整的SQL新手,但我还在学习,并且从来没有遇到过类似的Not For Replication等问题。
答案 0 :(得分:2)
由于您的主键是标识列,您可以选择所需的行(除非不选择标识列),然后将它们重新插入到同一个表中:
INSERT INTO table1 (col1, col2, col3)
SELECT (col1, col2, col3) FROM table1
WHERE ....
答案 1 :(得分:0)
如果您不想一一添加所有列,而只是排除主要的Identification列,则可以使用以下内容。
假设您的表格名称为实体
GitHub
我经常使用它来复制具有很多列的表中的行。