这是我第一次提出问题所以如果我没有提供所需的所有信息,我会提前感到抱歉,但我会尽我所能。我是SQL服务器的新手,特别是触发器,我会很感激帮助。这是为了大学的任务,我有点迷失。
所以,我的疑问基本上是:我有两个表,表商品和表Stocks.Table商品有(ID_Itemoffer,描述,初始库存,翻新期,价格,开始日期,完成日期)和表库存(ID_itemoffer ,ID_Stock,日,周,月,年)。
我想要做的是,每当加载表商品中的商品时,我必须加载并更新Stocks表,我需要随时知道Stock。我在Offer表中有一个翻新期,可以假设价值为“每日”,“每周”,“每月”,“年度”,因为这是一个公司的改造期(这来自一个更大的模型,但我被要求只在这两个表中触发)可以加载报价。例如,在表格中加载节日的公司可以每周翻新门票。我想过使用游标。有人能告诉我以下逻辑是否正确?另外,我会在代码中发布一些问题。提前谢谢!
create trigger tr_oferta_after_insert_stocks
on Offer
after insert
--variable declaration
declare @frequency int
declare cursor inserted
open
---I actually don't know if this part is correct, basically what I want to do is to create a local variable that has the values in the row.
fetch next from cursor into @stock
while fetch_status = 0
begin
if(@frequency= 'daily')
begin
while(DATEDIFF(DD, @day, @end)>= 0
BEGIN
INSERT INTO (stock)
values(@stock, DATEPART(day,@dia),DATEPART(month, @fim)..)
---- then I would make the same for the weekly, monthly and annual renovation time
if (@periodicidade ='weekly')
begin.......
我一般都是SQL的新手,所以我不知道其中有很多东西是否正确。再次感谢!