Skip to content

Instantly share code, notes, and snippets.

@gregori
Created May 20, 2020 21:59
Show Gist options
  • Select an option

  • Save gregori/f10bbd7614a0f1a01cd2c4a27f2773cb to your computer and use it in GitHub Desktop.

Select an option

Save gregori/f10bbd7614a0f1a01cd2c4a27f2773cb to your computer and use it in GitHub Desktop.
-- uma procedure pode ter vários parâmetros de saída e eles podem ser
-- de qualquer tipo de dados: int, date, varchar ....
-- por exemplo: encontrar produtos por ano e retornar o número de produtos
-- através do parâmetro @product_count
CREATE PROCEDURE uspFindProductByModel (
@model_year SMALLINT, -- parâmetro de entrada
@product_count INT OUTPUT -- parâmetro de saída
) AS
BEGIN
SELECT
product_name,
list_price
FROM
production.products
WHERE
model_year = @model_year;
SELECT @product_count = @@ROWCOUNT; -- atribuímos o número de linhas ao parâmetro
-- @@ROWCOUNT é uma variável de sistema
END;
-- para chamar a stored procedure com os parâmetros:
-- 1. declarar variáveis para receber os parâmetros de saída
-- 2. usar esses parâmetros na chamada à procedure
DECLARE @count INT;
EXEC uspFindProductByModel
@model_year = 2018,
@product_count = @count OUTPUT;
SELECT @count AS 'Número de produtos encontrados';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment