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

Откуда:
Сообщений: 55
Как в хранимой процедуре задействовать 2 и более таблице, т.е. что надо прописать?
А то я когда выполняю хранимую процедуру с одной таблицей все нормально выполняет, как только добавляю в from вторую таблицу сразу выводят не те данные по запросу. и я понимаю что если бы это было в запросе то надо было бы прописать and и все заработало, но в хранимой так не работает.
Кто что подскажет?
4 дек 11, 17:19    [11703106]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
qwerty777
Member

Откуда:
Сообщений: 158
Покажи код процедуры.
4 дек 11, 17:24    [11703125]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
qwerty777,

ALTER PROCEDURE dbo.StoredProcedure1
@Дней_в_ремонте int=0
AS
SET NOCOUNT ON
select Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта, datediff(day, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта) as 'Количество дней в ремонте'
from Договор
where datediff(day, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта) = @Дней_в_ремонте
RETURN

Так работает нормально с одной таблицей

Добавляю вторую:

ON
select Регистрационный_номер, Производитель,Модель, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта, datediff(day, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта) as 'Количество дней в ремонте'
from Договор,Авто
where datediff(day, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта) = @Дней_в_ремонте
RETURN

работает херово
4 дек 11, 17:28    [11703133]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
Alex_1992,

Отображает не то что надо.
4 дек 11, 17:29    [11703135]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
Alex_1992,
Надо что то дописать.
4 дек 11, 17:30    [11703138]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Alex_1992
Alex_1992,
Надо что то дописать.


у вас отсутствуют даже базовые знания...начните с чтения про JOIN (INNER/OUTER)
4 дек 11, 17:32    [11703142]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
qwerty777
Member

Откуда:
Сообщений: 158
FROM Договор INNER JOIN Авто ON Договор.[нужное поле] = Авто.[нужное поле]
4 дек 11, 17:33    [11703144]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31964
Alex_1992
и я понимаю что если бы это было в запросе то надо было бы прописать and и все заработало, но в хранимой так не работает.
Запрос в процедуре и без процедуры ничем не отличается.
Alex_1992
select Регистрационный_номер, Производитель,Модель, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта, datediff(day, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта) as 'Количество дней в ремонте'
from Договор,Авто
where datediff(day, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта) = @Дней_в_ремонте
RETURN

работает херово
Понятное дело, червер же не знает, что это за таблица Авто и как она связана с таблицей Договор.
4 дек 11, 17:33    [11703145]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
Knyazev Alexey,

А помочь ни как.
4 дек 11, 17:34    [11703148]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
qwerty112
Guest
Alex_1992
qwerty777,

ALTER PROCEDURE dbo.StoredProcedure1
@Дней_в_ремонте int=0
AS
SET NOCOUNT ON
select Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта, datediff(day, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта) as 'Количество дней в ремонте'
from Договор
where datediff(day, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта) = @Дней_в_ремонте
RETURN

Так работает нормально с одной таблицей

Добавляю вторую:

ON
	select Регистрационный_номер, Производитель,Модель, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта, datediff(day, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта) as 'Количество дней в ремонте'
	from Договор inner join Авто on Договор.xz_kakoepole = Авто.xz_kakoepole
	where datediff(day, Дата_сдачи_машины_в_ремонт, Дата_окончания_ремонта) = @Дней_в_ремонте   

RETURN

работает херово

код в тегах [ SRC ] выкладуй !!
4 дек 11, 17:35    [11703151]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Alex_1992
Knyazev Alexey,

А помочь ни как.


http://firststeps.ru/
4 дек 11, 17:35    [11703155]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
alexeyvg,

Оно не связано на прямую.
договор-клиент-авто
4 дек 11, 17:36    [11703159]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
Alex_1992,

Спасибо всем!!!!!!!!!!
4 дек 11, 17:42    [11703172]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить