2013-08-13 4 views
0

Have A SQL Инструкция INSERTкак INSERT INTO для каждого обновления строки

INSERT INTO [tbAddress] 
      ([CompanyName]) 
VALUES 
      ('undefined'), 

и UPDATE заявление

UPDATE tbOrganisation 
SET AddressID=INSERT INTO [tbAddress] 
      ([CompanyName]) 
    VALUES 
      ('undefined') 

WHERE AddressID = 783240 

мне нужно вставить в таблицу Address новый же запись для каждой записи с AddressID = 783240, помогите пожалуйста ,

ответ

1

Вы должны использовать в SCOPE_IDENTITY:

DECLARE @addressId int 

    INSERT INTO [tbAddress] ([CompanyName]) VALUES ('undefined') 
    SET @addressId = SCOPE_IDENTITY() 

    UPDATE tbOrganisation SET AddressID = @addressId WHERE AddressID = 783240 

Больше информации о Technet здесь: http://technet.microsoft.com/en-us/library/ms190315.aspx. Обратите внимание, что вы можете встретить @@ IDENTITY в качестве другого решения, однако есть тонкие различия (я считаю, связанные с триггерами).

0

Я не 100% уверен, что я понял вопрос, но я думаю, что это должно помочь:

UPDATE tbOrganisation SET AddressID='undefined' WHERE AddressID=783240; 

Является ли это то, что вы имели в виду?

+0

no, AddressID not CompanyName, это разные вещи –