powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вложенные хранимые процедуры ;)
4 сообщений из 4, страница 1 из 1
Вложенные хранимые процедуры ;)
    #32044749
Vitaliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!
софт: SQL Server 2000, Win2k Server
Очень хочу запустить процедуру, которая использует в качестве исходных данных еще две процедуры с параметрами.

Процедура 1
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE PROC ResIssued (@Reseller nvarchar( 15 ), @DateEnd smalldatetime )
AS 
SELECT    g.ItemNumber, sum(g.Quantity) as Quantity1
FROM         tblIssue i INNER JOIN tblIssueGoods g ON i.InvoiceNumber=g.InvoiceNumber

WHERE     i.reseller = @reseller AND 
	     g.GoodsDefect =  0  AND 
                  g.DiscountPrice=  0  AND	     
i.Client is null AND
i.InvoiceDate>= @DateEnd
GROUP BY g.ItemNumber

ORDER BY g.ItemNumber
GO


Процедура 2
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE PROC ResReport (@Reseller nvarchar( 15 ), @DateEnd smalldatetime )
AS 
SELECT    g.ItemNumber, sum(g.Quantity) as Quantity1
FROM         tblReports i INNER JOIN tblReportsGoods g ON i.InvoiceNumber=g.InvoiceNumber

WHERE     i.reseller = @reseller AND 
	     g.DefectGoods =  0  AND 
i.Client is null AND
i.InvoiceDate>= @DateEnd
GROUP BY g.ItemNumber

ORDER BY g.ItemNumber
GO


А вот эта процедура запускаться не хочет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE PROC ResResults
 (@Reseller nvarchar( 15 ), @DateEnd smalldatetime )
AS 
SELECT    g.ItemNumber, g.Quantity, i.Quantity
FROM         ResIssue (@Reseller,@dateEnd) i INNER JOIN ResReport (@Reseller,@dateEnd) g ON i.ItemNumber=g.ItemNumber

ORDER BY g.ItemNumber
GO



помогите плз, нигде не могу ничего найти...
...
Рейтинг: 0 / 0
Вложенные хранимые процедуры ;)
    #32044751
Фотография Слон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо сделать следующие шаги:
1) прочитать BOL на тему SELECT
2) наверное или вместо процедуры использовать UDF или прочитать как пользоваться INSERT/EXEC сочетанием

-- Слон
...
Рейтинг: 0 / 0
Вложенные хранимые процедуры ;)
    #32044777
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедеры можно только запускать с помощью EXEC.
В твоём случае подойдут функции возвращ. таблицу.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
CREATE FUNCTION ResIssued (@Reseller nvarchar( 15 ), @DateEnd smalldatetime )
RETURNS TABLE
AS 
RETURN(SELECT    g.ItemNumber, sum(g.Quantity) as Quantity1
FROM         tblIssue i INNER JOIN tblIssueGoods g ON i.InvoiceNumber=g.InvoiceNumber
WHERE     i.reseller = @reseller AND 
	     g.GoodsDefect =  0  AND 
                  g.DiscountPrice=  0  AND	     
i.Client is null AND
i.InvoiceDate>= @DateEnd
GROUP BY g.ItemNumber
ORDER BY g.ItemNumber)
GO

CREATE FUNCTION ResReport (@Reseller nvarchar( 15 ), @DateEnd smalldatetime )
RETURNS TABLE
AS 
RETURN(SELECT    g.ItemNumber, sum(g.Quantity) as Quantity1
FROM         tblReports i INNER JOIN tblReportsGoods g ON i.InvoiceNumber=g.InvoiceNumber
WHERE     i.reseller = @reseller AND 
	     g.DefectGoods =  0  AND 
i.Client is null AND
i.InvoiceDate>= @DateEnd
GROUP BY g.ItemNumber
ORDER BY g.ItemNumber)
GO


Тогда ResResults запустится без проблем.
Но крайне не советую, лучше напиши нермальный SELECT.
...
Рейтинг: 0 / 0
Вложенные хранимые процедуры ;)
    #32045061
Vitaliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Akuz
большое пасиба. Процедуры оформил функциями, работает без проблем. У меня просто в конечную процедуру будут входить еще 8 функций, так что такой длинный селект писать влом.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вложенные хранимые процедуры ;)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]