|
|
|
Junior Member
      
участник
Last Login: 17.08.2005 8:19
Сообщ.: 18,
Visits: 199
|
|
Всем привет!
[bold]Люди, пожалуйста, помогите новичку написать следующий запрос: [/bold]
в таблице "Referats", состоящей из 13 полей, у меня сейчас около 4000 записей.
Есть одна запись с полем "InventoryID"=9999. Мне нужно с помощью запроса занести в базу 40000 таких же записей; содержимое всех полей должно повторяться, только в поле "InventoryID" вместо 9999 должно к старому значению 9999 должна приписываться буква "К" и номер цикла. Например, при значении цикла=1 в поле "InventoryID" должно быть написано "9999К1", при значении=2 должно быть написано "9999К2" и т.д. до 40000.
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Приведи названия полей в таблице и их типы.
|
|
|
|
|
Supreme Being
      
администратор
Last Login: 13.11.2007 13:41
Сообщ.: 4 421,
Visits: 49 251
|
|
insert into New_Table
values
select field1, field2, .... , InventoryID+''K''+ltrim(str(cycl)) FROM Referats
|
|
|
|
|
Supreme Being
      
администратор
Last Login: 13.11.2007 13:41
Сообщ.: 4 421,
Visits: 49 251
|
|
| только у K не кавычки, а апострофы
|
|
|
|
|
Junior Member
      
участник
Last Login: 17.08.2005 8:19
Сообщ.: 18,
Visits: 199
|
|
Спасибо за подсказки! Я тут еще в книгах порылась и нашла ответ.
DECLARE @K int
SET @K=1
WHILE @K < 40000
BEGIN
INSERT INTO Referats (InventoryID , Autors, ReportName, ReportYear, OrgName, OrgAdress, Abstract, KeyWords, ColBooks, ColFolders, ColPervInf, dostup_k_referat)
select (''9999K''+CAST(@K as varchar)), Autors, ReportName, ReportYear, OrgName, OrgAdress, Abstract, KeyWords, ColBooks, ColFolders, ColPervInf, dostup_k_referat
from Referats
where InventoryID = ''9999''
SELECT @K=@K+1
END
|
|
|
|