Qairat
@Qairat
frontend developer, angular 2+

Как правильно создать процедуру в Ms Sql?

Всем привет!
Посмотрите пожалуйста код:
alter PROCEDURE SUMOFNUMBERS
	@FirstNumber INT,
	@SecondNumber INT,
	@Answer INT OUT
AS
	SET @Answer = @FirstNumber + @SecondNumber;
RETURN @Answer;
GO


exec dbo.SUMOFNUMBERS(5,6);
Выходит ошибка: Неправильный синтаксис около конструкции "5".
  • Вопрос задан
  • 299 просмотров
Решения вопроса 1
k1lex
@k1lex
Программист торг. сети. C# (WPF, WinForms), T-SQL
В своём ответе вы уже написали как правильно использовать процедуру.

Если вам нужно вызывать по типу "dbo.SUMOFNUMBERS(5,6)". Используйте функцию.
CREATE FUNCTION SUMOFNUMBERS 
(
	@FirstNumber INT,
	@SecondNumber INT
)
RETURNS int
AS
BEGIN
	-- Declare the return variable here
	DECLARE @Answer int

	-- Add the T-SQL statements to compute the return value here
	SET @Answer = @FirstNumber + @SecondNumber;

	-- Return the result of the function
	RETURN @Answer
END

Используем: select dbo.SUMOFNUMBERS(5,6)

Но если душа просит процедуру, могу предложить такой вариант:
CREATE PROCEDURE SUMOFNUMBERS
  @FirstNumber INT,
  @SecondNumber INT,
AS
BEGIN
  SET @Answer = @FirstNumber + @SecondNumber;
  RETURN @Answer;
END



EXEC     @Answer =  SUMOFNUMBERS 5, 6
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Qairat
@Qairat Автор вопроса
frontend developer, angular 2+
Нашел такое:
DECLARE @Answer int

EXEC SUMOFNUMBERS 
    @FirstNumber = 5,
    @SecondNumber = 6,
    @Answer = @Answer OUTPUT
    
SELECT @Answer

Работает.
Что вот так должен пользоваться?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы