Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
 Re: Срочно !!! Помогите !!!  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
iap
UPDATE не нужен, получается


интересние , что там дальше, с табличкой tmp происходит ...
7 ноя 11, 12:42    [11557412]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Ken@t
iap
UPDATE не нужен, получается


интересние , что там дальше, с табличкой tmp происходит ...
"Приключения таблицы #tmp"
7 ноя 11, 12:45    [11557440]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
poisk32
Member

Откуда:
Сообщений: 55
Из всего вышепечисленного Я понял только одно

Меняй код !!!

Сейчас вернул назад 2000 , благо это была другая машина,
все опять работают нормально и пойду переписывать код
работы на пару недель неделю.

Ну что всем спасибо за совет.
7 ноя 11, 12:46    [11557449]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
Glory
Member

Откуда:
Сообщений: 104751
poisk32
Из всего вышепечисленного Я понял только одно

Меняй код !!!

Прежде всего вы поменяли таблицы, из которых делается SELECT INTO
Если вы сделали это намеренно, без тестирования и еще на промышленной базе, то сервер тут непричем
7 ноя 11, 12:49    [11557468]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
poisk32
Member

Откуда:
Сообщений: 55
Glory
poisk32
Из всего вышепечисленного Я понял только одно

Меняй код !!!

Прежде всего вы поменяли таблицы, из которых делается SELECT INTO
Если вы сделали это намеренно, без тестирования и еще на промышленной базе, то сервер тут непричем


Извините Как я мог поменять таблицы ? Да еще и намеренно ?
7 ноя 11, 12:51    [11557482]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
Glory
Member

Откуда:
Сообщений: 104751
poisk32
Извините Как я мог поменять таблицы ? Да еще и намеренно ?

Странный вопрос
Вы сравнивали таблицы на ваших двух серверах или нет ?
Скрипт, который я привел, запускали вообще ?
7 ноя 11, 12:53    [11557493]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
poisk32
Member

Откуда:
Сообщений: 55
Glory
poisk32
Извините Как я мог поменять таблицы ? Да еще и намеренно ?

Странный вопрос
Вы сравнивали таблицы на ваших двух серверах или нет ?
Скрипт, который я привел, запускали вообще ?


Провери я Ваш скрипт. Все понятно!

Я могу сказать что действилельно поле c.Recid не может быть NULL
Я это прекрасно понимаю, но почему на 2000 это работало ???
7 ноя 11, 12:58    [11557537]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
Glory
Member

Откуда:
Сообщений: 104751
poisk32
Я это прекрасно понимаю, но почему на 2000 это работало ???

Потому что там оно разрешает NULL ?
7 ноя 11, 13:02    [11557552]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
poisk32
Member

Откуда:
Сообщений: 55
Glory
poisk32
Я это прекрасно понимаю, но почему на 2000 это работало ???

Потому что там оно разрешает NULL ?


Извените меня ! Может ошибка в формулировке ?

Что означает 'оно разрешает NULL' Оно это что ?
7 ноя 11, 13:05    [11557567]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
Glory
Member

Откуда:
Сообщений: 104751
poisk32
Что означает 'оно разрешает NULL' Оно это что ?

поле c.Recid на сервере 2000
7 ноя 11, 13:07    [11557575]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
poisk32
Member

Откуда:
Сообщений: 55
Glory
poisk32
Что означает 'оно разрешает NULL' Оно это что ?

поле c.Recid на сервере 2000


Это однозначно нет ! Поля абсодютно индетичны !!

Переход от 2000 к 2008 заключался только в переносе базы и пользователей с 2000 на 2008 и Все !
7 ноя 11, 13:11    [11557597]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
Glory
Member

Откуда:
Сообщений: 104751
poisk32
Это однозначно нет ! Поля абсодютно индетичны !!

Не верится
Я запускал приведенный скрипт на 2000, 2005 и 2008 - везде его поведение одинаково и завист только от поля таблицы-источника
7 ноя 11, 13:13    [11557613]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
poisk32
Member

Откуда:
Сообщений: 55
Glory
poisk32
Это однозначно нет ! Поля абсодютно индетичны !!

Не верится
Я запускал приведенный скрипт на 2000, 2005 и 2008 - везде его поведение одинаково и завист только от поля таблицы-источника


Был занят !!

Разнича между 2000 и 2008

2000 выдает сообщение : Warning: Null value is eliminated by an aggregate or other SET operation.
и выполняет присвение NULL

2008 возвращает ошибку : Cannot insert the value NULL into column 'Id_klejmo', table 'tempdb.dbo.#tmp________________________________________________________________________________________________________________00000000009C'; column does not allow nulls. UPDATE fails.
The statement has been terminated.
7 ноя 11, 13:56    [11557966]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
Glory
Member

Откуда:
Сообщений: 104751
poisk32
2000 выдает сообщение : Warning: Null value is eliminated by an aggregate or other SET operation.
и выполняет присвение NULL

Мой скрипт на выдает никаких Warning: Null value is eliminated by an aggregate or other SET operation
Потому что в нем нет никаких aggregate-ов

Или вы про свой скрипт ?
7 ноя 11, 13:59    [11557990]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
poisk32
Glory
пропущено...

Не верится
Я запускал приведенный скрипт на 2000, 2005 и 2008 - везде его поведение одинаково и завист только от поля таблицы-источника


Был занят !!

Разнича между 2000 и 2008

2000 выдает сообщение : Warning: Null value is eliminated by an aggregate or other SET operation.
и выполняет присвение NULL

2008 возвращает ошибку : Cannot insert the value NULL into column 'Id_klejmo', table 'tempdb.dbo.#tmp________________________________________________________________________________________________________________00000000009C'; column does not allow nulls. UPDATE fails.
The statement has been terminated.


У вас сейчас есьт работающая версия на 2000 и неработающая на 2008? Если да, то Glory предлагает Вам сравнить эти таблицы на этих двух серверах. Это сложно?
7 ноя 11, 14:00    [11557999]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Чего уж тут сравнивать!
Выясняется, что там агрегат какой-то.
А нам не сказали...
7 ноя 11, 14:02    [11558006]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
poisk32
Glory
пропущено...

Не верится
Я запускал приведенный скрипт на 2000, 2005 и 2008 - везде его поведение одинаково и завист только от поля таблицы-источника


Был занят !!

Разнича между 2000 и 2008

2000 выдает сообщение : Warning: Null value is eliminated by an aggregate or other SET operation.
и выполняет присвение NULL

2008 возвращает ошибку : Cannot insert the value NULL into column 'Id_klejmo', table 'tempdb.dbo.#tmp________________________________________________________________________________________________________________00000000009C'; column does not allow nulls. UPDATE fails.
The statement has been terminated.


Вы в показаниях путаетесь, сначала ид_торец с ошибкой был, тепреь клеймо , руки бы оторвал за такие названия, ещё и с агрегатами ворнинги появились.

Автор, так какая же ошибка ?
7 ноя 11, 14:03    [11558012]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
poisk32
Member

Откуда:
Сообщений: 55
Хорошо полный код

SELECT space(5) as TipZ,rtrim(ltrim(rtrim(ltrim(isnull(c.Klejmo,'')))+' '+ltrim(rtrim(c.Naim_izdel)+' '+rtrim(ltrim(isnull(c.Torec,'')))))) as Naim_iz,c.Kol_zven,c.Kolich,c.Metri,isnull(d.Naim_tar_ru,'') as Naim_tar,c.Kolich_tara,convert(numeric(12,3),0) as Kol_pak,convert(numeric(12,3),0) as Kol_upak,convert(numeric(12,0),0) as Kol_got,a.Kontrakt,a.Zakaz,a.Num_dok,b.Naim_klient_lv,c.Recid_izdel,c.Num_pp,c.Tip_zakaz,c.Recid,e.Tip_izdel,e.Step_izdel,c.Klejmo,c.Torec,ltrim(rtrim(e.Naim_izdel_lv)) as NaimL,ltrim(rtrim(e.Naim_izdel_ru)) as NaimR,ltrim(rtrim(e.Naim_izdel_en)) as NaimE,ltrim(rtrim(e.Naim_izdel_de)) as NaimD,c.Recid as Id_klejmo,c.Recid as Id_torec,c.Naim_izdel into #tmp FROM Sbit_zakaz a,Sbit_klient b,Sbit_zakaz_poz c,Spr_tara d,Spr_izdel e WHERE b.Recid =*a.Recid_klient and a.Num_dok =6709 and c.Recid_izdel=e.Recid and a.Recid=c.Recid_zakaz and c.Recid_tara*=d.Recid and (c.Kolich > 0 or c.Metri > 0) and a.Bit_meneger=1 ORDER BY c.Num_pp
update #tmp set Kol_pak=(select isnull(sum(Sbit_poz_ttnkl.Kolich),0) from Sbit_poz_ttnkl where Sbit_poz_ttnkl.Recid_zakaz=#tmp.Recid)
update #tmp set Kol_got=(select isnull(sum(Upak_dok_poz.Kolich),0) from Upak_dok_poz where Upak_dok_poz.Recid_zakaz=#tmp.Recid)
update #tmp set Id_klejmo=NULL,Id_torec=NULL
update #tmp set Id_klejmo=(select Recid from Spr_izdel_klejmo where Spr_izdel_klejmo.Kod_klejmo=#tmp.Klejmo)
update #tmp set Id_torec=(select Recid from Spr_izdel_torec where Spr_izdel_torec.Tip_torec=#tmp.Torec)
select * from #tmp
drop table #tmp

Сообщения от 2000



(4 row(s) affected)


(4 row(s) affected)


(4 row(s) affected)

Warning: Null value is eliminated by an aggregate or other SET operation.

(4 row(s) affected)


(4 row(s) affected)


(4 row(s) affected)


(4 row(s) affected)


Сообщение от 2008



(4 row(s) affected)

(4 row(s) affected)

(4 row(s) affected)
Msg 515, Level 16, State 2, Line 1
Cannot insert the value NULL into column 'Id_klejmo', table 'tempdb.dbo.#tmp________________________________________________________________________________________________________________0000000000A3'; column does not allow nulls. UPDATE fails.
The statement has been terminated.
Msg 515, Level 16, State 2, Line 1
Cannot insert the value NULL into column 'Id_klejmo', table 'tempdb.dbo.#tmp________________________________________________________________________________________________________________0000000000A3'; column does not allow nulls. UPDATE fails.
The statement has been terminated.
Msg 515, Level 16, State 2, Line 1
Cannot insert the value NULL into column 'Id_torec', table 'tempdb.dbo.#tmp________________________________________________________________________________________________________________0000000000A3'; column does not allow nulls. UPDATE fails.
The statement has been terminated.

(4 row(s) affected)
7 ноя 11, 14:08    [11558051]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
poisk32, Вы будете оплачивать мне лечение испорченного зрения?

Пока бросилось в глаза обильное использование старого синтаксиса левого и правого джойнов,
которые по-любому в SQL2005 работать не будут.
7 ноя 11, 14:12    [11558090]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
poisk32
Member

Откуда:
Сообщений: 55
iap
poisk32, Вы будете оплачивать мне лечение испорченного зрения?

Пока бросилось в глаза обильное использование старого синтаксиса левого и правого джойнов,
которые по-любому в SQL2005 работать не будут.


Ну вы видите что в 2008 работает нормально. Я все проверил. С етим проблем нет.
7 ноя 11, 14:13    [11558103]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
poisk32
iap
poisk32, Вы будете оплачивать мне лечение испорченного зрения?

Пока бросилось в глаза обильное использование старого синтаксиса левого и правого джойнов,
которые по-любому в SQL2005 работать не будут.


Ну вы видите что в 2008 работает нормально. Я все проверил. С етим проблем нет.
Сказки рассказываете.
Что вернёт
EXECUTE sp_dbcmptlevel N'tempdb'
?
И оформите, пожалуйста, с тегом [SRС].
Строки покороче (например, по одному полю на строке) и отступы тоже очень желательны.
7 ноя 11, 14:18    [11558130]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
iap
Что вернёт
EXECUTE sp_dbcmptlevel N'tempdb'
?
И то же самое для базы с таблицами Sbit_zakaz a,Sbit_klient b,Sbit_zakaz_poz и т.д.
7 ноя 11, 14:20    [11558144]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
poisk32
Member

Откуда:
Сообщений: 55
iap
poisk32
пропущено...


Ну вы видите что в 2008 работает нормально. Я все проверил. С етим проблем нет.
Сказки рассказываете.
Что вернёт
EXECUTE sp_dbcmptlevel N'tempdb'
?
И оформите, пожалуйста, с тегом [SRС].
Строки покороче (например, по одному полю на строке) и отступы тоже очень желательны.


2000 : The current compatibility level is 80.

2008 : The current compatibility level is 100.
7 ноя 11, 14:20    [11558152]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
poisk32
Member

Откуда:
Сообщений: 55
iap
iap
Что вернёт
EXECUTE sp_dbcmptlevel N'tempdb'
?
И то же самое для базы с таблицами Sbit_zakaz a,Sbit_klient b,Sbit_zakaz_poz и т.д.


2000 : The current compatibility level is 80.

2008 : The current compatibility level is 80.
7 ноя 11, 14:22    [11558172]     Ответить | Цитировать Сообщить модератору
 Re: Срочно !!! Помогите !!!  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
poisk32
iap
пропущено...
И то же самое для базы с таблицами Sbit_zakaz a,Sbit_klient b,Sbit_zakaz_poz и т.д.


2000 : The current compatibility level is 80.

2008 : The current compatibility level is 80.
Вот так-то вот! :)
7 ноя 11, 14:26    [11558212]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить