SQL触发器执行过程并存储新值

时间:2016-01-22 21:18:57

标签: sql sql-server triggers procedure

我遇到从触发器调用创建过程的问题。该过程基本上将票证引用为@sid,产品ID为@pid

这是我想要调用的程序:

CREATE PROCEDURE calTicketPrice(@sid varchar, @pid varchar)
AS
BEGIN
    DECLARE @productpvp INT;
    DECLARE @discount INT;

    SET @productpvp = (SELECT price FROM products WHERE products.barCode = @pid);
    SET @discount = (SELECT discount FROM products WHERE products.barcode = @pid);

    UPDATE sales 
    SET sales.total = @productpvp - (@productpvp * 0.18) + (@productpvp * @discount)
    WHERE sales.ticketRef = @sid;
END
RETURN

编辑:

表格是产品和销售(原子销售,只有一个产品和ticketref) 价值是products.price,products.discount sales.ticketref和sales.total。

当我插入一个新的销售时,我想检查所有销售并使用相同的票证参考实现销售总价。所以,程序工作,但我需要以某种方式触发它。请帮忙。

这不适合工作,仅适用于练习。

所以我需要的是执行此过程的触发器,传递票证参考和产品标识符 INSERTED 。我是SQL的新手,我正在努力解决这个问题,即使它看起来很基本。我不知道如何使用立即插入的值。

先谢谢你的配偶。

0 个答案:

没有答案