2017-11-18 242 views
0

我有一个看起来像这样的数据库。不同表上的SQL触发器

Current database

每当创建了新的用户,该用户(用户名)的Id需要被存储在预算表。在此之后,我希望在类别表中的类别中的预算表中填写每个类别。

我现在类别表:

The data in the Category table

正如你所看到的,我现在有3个类别。是否可以创建一个循环通过类别的触发器,并将Category.Id插入Budget.Category

预算表应该是这样的一个用户创建后:

Budget table after a user has been created

我不知道该怎么给每个的categoryId添加到预算表。

+0

是的,你可以这样做。从插入语句创建触发器开始。 –

+0

我被卡在了必须循环分类的部分,并将每个分类添加到预算表中。 –

+0

触发器是**高度特定于供应商的** - 所以请添加一个标签以指定您是使用mysql,postgresql,sql-server,oracle还是db2,还是其他的东西。 –

回答

0

要插入值到budget表,代码会是这个样子:

insert into budget(UserId, CategoryId, Date, Value) 
    select new.userid, c.categoryId, current date, 0 
    from categories c; 

没有foreach是必需的,但语法通过数据库而异。特别是:

  • 当前日期的语法。
  • 访问要插入的值的语​​法。