Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 如何在定义新行的主键时复制表中的行?_Sql Server 2008_Primary Key - Fatal编程技术网

Sql server 2008 如何在定义新行的主键时复制表中的行?

Sql server 2008 如何在定义新行的主键时复制表中的行?,sql-server-2008,primary-key,Sql Server 2008,Primary Key,我想在定义PK列值2 tblSpills.Year,tblSpills.Complaint时复制或复制表tblSpills中的一行 我已经有了一个存储过程,它插入一个带有自定义PK值的新行,每隔30列左右为空。到目前为止,我已经执行了现有的存储过程来创建新行,并获取了新的PK值作为新的重复存储过程的变量,但是我不知道如何将剩余的列从一行复制到同一表中新创建的行 感谢您提供的任何帮助。您没有告诉我们您使用的是什么系统/数据库-只是猜测它是否应该是SQL Server,您可以这样做: INSERT

我想在定义PK列值2 tblSpills.Year,tblSpills.Complaint时复制或复制表tblSpills中的一行

我已经有了一个存储过程,它插入一个带有自定义PK值的新行,每隔30列左右为空。到目前为止,我已经执行了现有的存储过程来创建新行,并获取了新的PK值作为新的重复存储过程的变量,但是我不知道如何将剩余的列从一行复制到同一表中新创建的行


感谢您提供的任何帮助。

您没有告诉我们您使用的是什么系统/数据库-只是猜测它是否应该是SQL Server,您可以这样做:

INSERT INTO dbo.tblSpills(Year, Complaint, list all other columns here)
   SELECT
      @YearValue, @ComplaintValue, 
      (list of all other columns here)
   FROM
      dbo.tblSpills
   WHERE
      (some condition here, e.g. ID = 42 or something)
基本上,根据年份和投诉的新值,在tblSpills表中插入列列表,并根据必须定义的WHERE条件从现有行中获取同一表中的所有其他列值


对于其他列:只需列出需要值或要为其设置特定值的列。那些已经定义了合理默认约束的列不需要列出,它们将在插入新行时自动获得定义的默认值。

是,对不起,新手。这是sql Server 2008。这工作完美无瑕!谢谢