Форум программистов, компьютерный форум, киберфорум
Наши страницы

Microsoft SQL Server

Войти
Регистрация
Восстановить пароль
 
RHCP
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 35
#1

Хранимые процедуры-превышен уровень вложенности - SQL Server

31.07.2016, 14:00. Просмотров 764. Ответов 4
Метки нет (Все метки)

Здравствуйте!
Помогите, пожалуйста, разобраться со вложенностью процедур.
В базе данных есть таблица студентов и групп, студент связан со своей группой по полю Id_Group.
Пытаюсь создать хранимую процедуру, которая показывает, сколько студентов в каждой группе:

T-SQL
1
2
3
4
5
6
7
8
9
10
USE library
GO
CREATE PROCEDURE CountStud
AS
SELECT Groups.Name, COUNT(*)
FROM Groups, Students
WHERE students.Id_Group = Groups.Id
GROUP BY Groups.Name
 
EXECUTE CountStud
Почему в результате выполнения этих строк появляется сообщение "Выполнение команд успешно завершено" а не выводится на экран таблица - результат select'а?
И самое главное, почему в дальнейшем, когда пытаешься выполнить только строчку
T-SQL
1
EXECUTE CountStud
select начинает выполняться многократно (последовательно выводятся на экран одна и та же таблица), ну и когда их количество доходит до 32 процесс прекращается с сообщением "Сообщение 217, уровень 16, состояние 1, процедура CountStud, строка 8
Превышен максимальный уровень вложенности хранимой процедуры, функции, триггера или представления (ограничение 32)."
В чем ошибка, как правильно создать, а потом вызвать процедуру, чтобы получить результат - 1 таблицу.
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2016, 14:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Хранимые процедуры-превышен уровень вложенности (SQL Server):

Хранимые процедуры - SQL Server
Люди, никто не знает какая команда, или директива запрещает возврат данных из хранимой процедуры, поясню, есть процедура Insert Into...

хранимые процедуры - SQL Server
доброе время суток.. у меня такой вопрос: читал про компиляцию хранимых процедур и окончательно запутался(( вопрос мой такой: у меня...

Хранимые процедуры..... - SQL Server
Начнем: Есть некий сервер на нем есть х.п., как вытащить инфу о х.п. которая у которой есть входные параметры - это я знаю: SELECT...

Хранимые процедуры - SQL Server
Приветствую всех. Вот в чём вопрос создал я хранимую процедуру которая создаёт таблицу, вот как мне передать в неё имя таблицы? CREATE...

Хранимые процедуры - SQL Server
Мне нужно чтобы в зависимости от выбранной страны в comboBox на форме в WindowsForm(например Россия) по этому запросу получалась таблица, в...

Хранимые процедуры - SQL Server
Столкнулся со странной проблемой никак не могу создать хранимую процедуру, говорит типа текстовые аргументы не допустимы. Исключая их...

4
invm
1722 / 1196 / 335
Регистрация: 02.06.2013
Сообщений: 3,001
31.07.2016, 15:30 #2
Цитата Сообщение от RHCP Посмотреть сообщение
В чем ошибка
В том, что у вас вызов процедуры в самой процедуре. В результате - бесконечная рекурсия.
Цитата Сообщение от RHCP Посмотреть сообщение
как правильно создать, а потом вызвать процедур
Процедуру нужно создать один раз:
T-SQL
1
2
3
4
5
6
7
8
9
USE library
GO
CREATE PROCEDURE CountStud
AS
SELECT Groups.Name, COUNT(*)
FROM Groups, Students
WHERE students.Id_Group = Groups.Id
GROUP BY Groups.Name
GO
А потом уже можно сколько угодно раз вызывать
T-SQL
1
EXECUTE CountStud
1
RHCP
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 35
31.07.2016, 15:54  [ТС] #3
Спасибо.
Оказалось, просто пропущено слово GO в конце процедуры, и строчка EXECUTE CountStud получилась как часть процедуры
0
pincet
1290 / 878 / 105
Регистрация: 23.07.2010
Сообщений: 4,723
01.08.2016, 11:50 #4
Цитата Сообщение от invm Посмотреть сообщение
FROM Groups, Students
когда уже про это перестанут учить?
0
iap
798 / 608 / 122
Регистрация: 27.11.2009
Сообщений: 1,800
01.08.2016, 12:15 #5
Цитата Сообщение от pincet Посмотреть сообщение
когда уже про это перестанут учить?
Пока это будет модно в Oracle, как я понимаю...
Оттуда же любовь новичков к курсорам, наверно.
И там же ещё подселкты обожают!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2016, 12:15
Привет! Вот еще темы с ответами:

хранимые процедуры - SQL Server
подскажите пожалуйста примерно как: Удаление из базы данных информации об определенном клиенте (по IdCust). Если с данным клиентом имеются...

Хранимые процедуры - SQL Server
Здравствуйте. Подскажите способы возвращения значений из хранимой процедуры. Или ссылочку где можно почитать.

Хранимые процедуры - SQL Server
Есть 2 таблицы create table личность (код_личности int not null primary key identity (1,1), Ф_И_О NVARCHAR(MAX) not null, ...

Хранимые процедуры - SQL Server
Здравствуйте, мне нужно сделать хранимую процедуру, которая по названию континента показывает количество водоемов каждого типа на этом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru