Задать вопрос
@alexandrtym

Error converting data type varchar to int. Строка 0. Почему не обрабатывается процедура?

Здравствуйте. Только начал постигать азы SQL. Возник вопрос с передачей значений в процедуру. Спасибо заранее. Выдает ошибку Error converting data type varchar to int. Строка 0. Почему не обрабатывается процедура? Процедура уже была создана, поэтому проблема не в alter.
Alter PROC  inf 
@nazvafacultetu varchar(50),
@grnum int,
@stn varchar(50),
@stln varchar(50),
@brth date,
@sumst int,
@yz date,
@stid int,
@sttid int,
@obychid int
AS
BEGIN
DECLARE @havemista INT;
DECLARE @nazvaf nvarchar(50);
DECLARE @chuslom INT;

select   @nazvaf=nazva, @chuslom=Chuslo_mest, @havemista = Count(St_lname)
From Obych
	 INNER JOIN Facultet on (Facultet.FacultetID= Obych.FacultetID)
	 INNER JOIN student ON (Obych.StudentID=student.StudentID) 
	 where @nazvaf=@nazvafacultetu
	 Group by Chuslo_mest, nazva
if @havemista<@chuslom
BEGIN 
INSERT INTO Student values
(@stln, @stn,@brth)
INSERT INTO Obych values
( @grnum, @sumst,@yz,@stid,@nazvaf,@sttid)
END
else print 'Нету мест'+cast( @chuslom as varchar(2))
END

---

EXEC inf @nazvafacultetu='historical', @grnum=1,@stn='Anna', @stln='Maria', @brth='1998-12-08',  @sumst=1200, @yz='2011-09-16', @stid=26, @sttid='woman' ;
  • Вопрос задан
  • 712 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
borisdenis
@borisdenis
Ленив и вреден...
Ошибка пытается вам сказать о том, что не может сконвертировать varchar в int, смотрите в каком месте у вас текст вдруг становится цифрами.

В начале вы утверждаете что @sttid int, а в конце пытаетесь @sttid='woman'. Как по мне так слегка нелогично
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы