Please help me to write a trigger that adds new rows to a table.
I have 3 tables in my database:
- Regions (id, name); id – primary;
- Technics (id, name); id – primary;
- Availability (id, region, technic, count); id – primary, region – foreign on Regions.id, Technik – foreign on technics.id.
I want to add new row in Availability for each Technics row on adding row in Regions.
Somethink like:
procedure void OnAddNewRegion(int region)
{
foreach (Row r in Technic)
{
Availability.Rows.Add(new Row(id, region, r.Id, 0));
}
}
But in a SQL trigger.
I want to do the same on adding new Technics row.
try something like this (assuming Availability.id is an identity), which will also handle multiple rows being inserted at one time:
you don’t say how Regions joins with Technics, so I cross joined them (every inserted Regions, gets one row for every Technics).