[MS SQL] - SET IDENTITY_INSERT

0

Witam,
czy ktos mi moze wytlumaczyc w czym jest problem ?

SET IDENTITY_INSERT table on
insert into table (id, tekst) values (10, 'test')

to dziala

a dlaczego nie dziala to ?

SET IDENTITY_INSERT table on
insert into table select indeks,test from tabelka
0

A probowales tego?

insert into table (id, tekst) select indeks,test from tabelka

Poza tym powinienes dostac jakis komunikat bledu.

0

Wielkie dzieki ! Teraz dziala !
Nigdy sie nie spotkalem z tym, aby przed selectem podawac nazwe kolumn.
Coz .... czlowiek uczy sie cale zycie :)

0

inna jest skladania samego selecta a inna insert into ... select. Podajesz kolumny, zeby silnik wiedzial co gdzie ma przyporzadkowac. Jak mniemam w tabeli table masz wiecej niz 2 kolumny?

0

Dokladnie, jest ich tam mnostwo.

A w zadnych madrych ksiazkach, nie doczytalem sie o takim przypadku.
No ale zawsze jest Johny_Bravo :)

Pozdrawiam

0

Skoro jest ich mnostwo to jakos musisz okreslic gdzie chcesz co wsadzic. Taki sam blad (ilosc wartosci nie pasuje do ilosci kolumn w tabeli) dostaniesz w takim zapytaniu:

insert into table values (10, 'test')

jesli ilosc kolumn jest rozna od 2.

I mylisz sie, przypadek opisany jest w dokumentacji ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1