Как скопировать и вставить записи в таблицу с помощью хранимой процедуры? - PullRequest
0 голосов
/ 22 сентября 2009

У меня есть таблица с одним полем: lngStatusID со значением 2 для всех записей.

Теперь мне нужно снова вставить все записи в одну и ту же таблицу, но с lngStatusID = 1

Так что я думаю, что хранимая процедура мне как-то поможет.

КАК согласно моей логике это должно быть что-то вроде:

1) Мне нужно прочитать каждую запись с циклом

2) скопировать все поля во временные переменные

3) А затем выполнить запрос вставки для вставки записи с lngStatusID = 1

Я новичок в хранимой процедуре. Так может ли кто-нибудь наставить меня, как это сделать?

Или есть какой-нибудь простой способ сделать это?

Ответы [ 4 ]

5 голосов
/ 22 сентября 2009

Для этого вам не нужна хранимая процедура, простой оператор INSERT сделает:

insert into mytable
(field1, field2, lngStatusID)
select field1, field2, 1
from mytable
1 голос
/ 22 сентября 2009
INSERT INTO <TABLENAME> (Col1,Col2,Col3)
SELECT Col1, Col2, 2
FROM <TABLENAME>

Нет необходимости в sp или курсорах

0 голосов
/ 22 сентября 2009
UPDATE <tablename>
SET IngStatusID = 1

При этом любая таблица с одним полем, вероятно, не должна быть таблицей, если только она не является поиском.

0 голосов
/ 22 сентября 2009

Зачем вам нужно вставлять их снова? Может быть, простого ОБНОВЛЕНИЯ будет достаточно?

UPDATE table SET IngStatusID = 1

Пожалуйста, предоставьте больше деталей, потому что для меня бессмысленно копировать все записи во временную таблицу и вставлять их снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...