<p>I am attempting to insert a copy of a row from one table into another table with the same schema, with the addition of one column (a timestamp) to provide a "history" of the first table in MS Sql Server 2005.</p>

<p>So, my query, without the additional column would be:</p>

<pre><code>"SELECT INTO [WebsiteHistory] FROM [Website]"
</code></pre>

<p>I want to populate the timestamp column as well, but am not sure how to best do this. I'd like to do something like:</p>

<pre><code>"SELECT Website.*, '" + DateTime.Now.ToShortDateString() + "' INTO [WebsiteHistory] FROM [Website]"
</code></pre>

<p>But that shouldn't work, especially if the timestamp column is not the last one. Is there any way to do this?</p>

Be warned. This works, but it is neither
nice
nor recommendable:
```
```
INSERT
  WebsiteHistory
SELECT
  *,
  GETDATE()
FROM
  Website
WHERE
  Id = @WebsiteId
```
```
This assumes
```
WebsiteHistory
```
has the same structure as
```
Website
```
(you said it has), plus there is one additional
```
DATETIME
```
field.
Better is this, because it is much more fail-safe (at the expense of being more verbose):
```
```
INSERT
  WebsiteHistory
  (
  Id,
  Field1,
  Field2,
  Field3,
  Field4,
  ModifiedDate
  )
SELECT
  Id,
  Field1,
  Field2,
  Field3,
  Field4,
  GETDATE()
FROM
  Website
WHERE
  Id = @WebsiteId
```
```