Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 There is already an object named " " in the database  [new]
Pabl0
Member

Откуда:
Сообщений: 265
Подскажите почему вылетает "There is already an object named '#Temp' in the database." "Drop table #Temp" делаю.

IF @ItemID = 65
	BEGIN
		select d1.[ID], d1.IsInner, case d1.IsInner when 0 then 'Нет' when 1 then 'Да' end as IsInnerName,
		d1.DocID, d1.[Description], d1.[Description] as [Name], d1.Received as Borned,
		dbo.UserName(d1.Author) as UserName, d1.Author, d2.DepID, d1.[Status]
		into #Temp
		from [EMG_TEST123].[dbo].[RunnerComments] D1
		left join [EMG_TEST123].[dbo].[StaffList] D2
			on d2.UserID = d1.Author AND d2.Status>0
		where d1.DocID = @ID and d1.[Status] > @Status
	END
		ELSE
	BEGIN
		select d1.[ID], d1.IsInner, case d1.IsInner when 0 then 'Нет' when 1 then 'Да' end as IsInnerName,
		d1.DocID, d1.[Description], d1.[Description] as [Name], d1.Received as Borned,
		dbo.UserName(d1.Author) as UserName, d1.Author, d2.DepID, d1.[Status]
		into #Temp
		from dbo.RunnerComments D1
		left join dbo.StaffList D2
			on d2.UserID = d1.Author AND d2.Status>0
		where d1.DocID = @ID and d1.[Status] > @Status	
	END
29 июн 16, 15:20    [19350446]     Ответить | Цитировать Сообщить модератору
 Re: There is already an object named " " in the database  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
потому что select into 2 раза в одну таблицу
29 июн 16, 15:21    [19350450]     Ответить | Цитировать Сообщить модератору
 Re: There is already an object named " " in the database  [new]
Pabl0
Member

Откуда:
Сообщений: 265
Но ведь там условие стоит и в одно из условий не должно заходить.

Как поступать в таких ситуациях?
29 июн 16, 15:24    [19350470]     Ответить | Цитировать Сообщить модератору
 Re: There is already an object named " " in the database  [new]
msLex
Member

Откуда:
Сообщений: 8151
Pabl0
Но ведь там условие стоит и в одно из условий не должно заходить.

Как поступать в таких ситуациях?


create table #Temp...

if ...
insert into #temp ...
else 
insert into #temp ...
29 июн 16, 15:29    [19350497]     Ответить | Цитировать Сообщить модератору
 Re: There is already an object named " " in the database  [new]
Pabl0
Member

Откуда:
Сообщений: 265
А у меня разве не так же написано?
29 июн 16, 16:01    [19350700]     Ответить | Цитировать Сообщить модератору
 Re: There is already an object named " " in the database  [new]
i-i
Guest
у вас написано

if ...
select into #temp ...
else 
select into #temp ...
29 июн 16, 16:05    [19350719]     Ответить | Цитировать Сообщить модератору
 Re: There is already an object named " " in the database  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31427
Pabl0
Как поступать в таких ситуациях?
Можно ещё так поступать:
select d1.[ID], d1.IsInner, case d1.IsInner when 0 then 'Нет' when 1 then 'Да' end as IsInnerName,
	d1.DocID, d1.[Description], d1.[Description] as [Name], d1.Received as Borned,
	dbo.UserName(d1.Author) as UserName, d1.Author, d2.DepID, d1.[Status]
into #Temp
from [EMG_TEST123].[dbo].[RunnerComments] D1
	left join [EMG_TEST123].[dbo].[StaffList] D2
		on d2.UserID = d1.Author AND d2.Status>0
where d1.DocID = @ID and d1.[Status] > @Status
	and @ItemID = 65
UNION ALL
select d1.[ID], d1.IsInner, case d1.IsInner when 0 then 'Нет' when 1 then 'Да' end as IsInnerName,
	d1.DocID, d1.[Description], d1.[Description] as [Name], d1.Received as Borned,
	dbo.UserName(d1.Author) as UserName, d1.Author, d2.DepID, d1.[Status]
from dbo.RunnerComments D1
	left join dbo.StaffList D2
		on d2.UserID = d1.Author AND d2.Status>0
where d1.DocID = @ID and d1.[Status] > @Status	
	and @ItemID <> 65
29 июн 16, 19:11    [19351626]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить