Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Странное поведение into с XML  [new]
Nick74
Member

Откуда:
Сообщений: 215
Обнаружил сегодня странную вещь на своем MSSQL.
Вот такой вот код выдает результат "Rifts 1", вместо 1 может быть цифра от 0 до 3 случайным образом.
Хотя должен выдавать "Rifts NULL".
Если убрать into #ExpTables, identity(1,1) или вместо tb.id написать tb.id+0 - начинает выдавать все правильно.
Подскажите пожалуйста как такое может быть? Сломал голову напрочь.
create table TTables(ID int not null identity(1,1),NAME varchar(200) not null);

declare @xml xml;
select @xml='<Table><NAME>Rifts</NAME></Table>';

select T.c.value('NAME[1]','varchar(200)') as NAME, tb.id as TID
into #ExpTables
from @xml.nodes('/Table') AS T(c)
     left join TTables tb on tb.name=T.c.value('NAME[1]','varchar(200)');

select * from #ExpTables;

drop table #ExpTables;
drop table TTables;

Версия SQL 9.00.5324.00 (X64) Standard Edition (64-bit)
21 окт 16, 16:01    [19809921]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение into с XML  [new]
aleks2
Guest
Rifts 598917104

Как-то так выдает на

Microsoft SQL Server 2005 - 9.00.5057.00 (Intel X86) Mar 25 2011 13:50:04 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

И вот так

Msg 681, Level 16, State 3, Line 6
Attempting to set a non-NULL-able column's value to NULL.

На
Microsoft SQL Server 2008 (SP4) - 10.0.6241.0 (Intel X86) Apr 17 2015 11:02:30 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition on Windows NT 5.2 <X86> (Build : )
21 окт 16, 16:13    [19810021]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить