Sql程序有两个输入参数

时间:2015-07-06 14:06:46

标签: sql sql-server

我需要创建一个SQL存储过程,该过程将采用两个输入参数(来自表'users'的id和来自'sales'表的id)然后如果列'coupons'(表'users')的值大于那么0,它在列'numOfSales'(表'sales')中增加1的值,并在'coupons'列中减少1的值。 我试过这个:

CREATE PROCEDURE usp_makesale
@id_sales int NOT NULL,
@id_users int NOT NULL
AS
 BEGIN
 SET NOCOUNT ON;
 SELECT users.coupons, sales.numOfSales
IF (coupons > 0)
  BEGIN
  SET coupons - 1;
  SET numOfSales + 1;
  END

如何正确声明这些变量?

1 个答案:

答案 0 :(得分:2)

你应该像这样声明变量:

false

但是,您还没有正确编写更新语句来更新列中的值。你需要这样的东西:

DECLARE @coupons AS INT
SELECT @coupons = coupons FROM users WHERE users.id = @id_users

DECLARE @numOfSales AS INT
SELECT @numOfSales = numOfSales FROM sales WHERE sales.id = @id_sales