SQL 服务器:为多租户默认条目插入触发器
SQL Server : Insert Trigger for Multi-Tenant Default Entries
我有 table 的产品供所有租户共享。但是,每个租户都可以对存储在 ProductRating
table 中的每个产品拥有自己的评级。当新产品插入 Product
table 时,我想要一个触发器为每个租户将默认评级插入每个插入的产品的 ProductRating
table。
我认为这并不像我的大脑想象的那么难,但我就是做不到。
感谢任何帮助。
为简单起见:
|-----------------------|
| Tenant |
|-----------------------|
| TenantId | TenantName |
|-----------------------|
|--------------------------|
| Product |
|--------------------------|
| Product ID | ProductName |
|--------------------------|
|-------------------------------|
| ProductRating |
|-------------------------------|
| TenantId | ProductId | Rating |
|-------------------------------|
J
您可能需要至少两个触发器 - 一个用于在添加产品时为所有现有租户提供默认评级,另一个用于在添加新租户时为所有现有租户提供默认评级产品。
CREATE TRIGGER DefaultRatingsByNewTenant ON Tenant
FOR INSERT
AS
Begin
INSERT into ProductRating(TenantID, ProductID, Rating)
SELECT
i.TenantID
, p.ProductID
, 5 as defaultRating
FROM
inserted i
cross join Product p
end
另一个很容易从那里算出来...
CREATE TRIGGER DefaultRatingsByNewProduct ON Product
FOR INSERT
AS
Begin
INSERT into ProductRating(TenantID, ProductID, Rating)
SELECT
t.TenantID
, i.ProductID
, 5 as defaultRating
FROM
inserted i
cross join tenant t
end
我有 table 的产品供所有租户共享。但是,每个租户都可以对存储在 ProductRating
table 中的每个产品拥有自己的评级。当新产品插入 Product
table 时,我想要一个触发器为每个租户将默认评级插入每个插入的产品的 ProductRating
table。
我认为这并不像我的大脑想象的那么难,但我就是做不到。
感谢任何帮助。
为简单起见:
|-----------------------|
| Tenant |
|-----------------------|
| TenantId | TenantName |
|-----------------------|
|--------------------------|
| Product |
|--------------------------|
| Product ID | ProductName |
|--------------------------|
|-------------------------------|
| ProductRating |
|-------------------------------|
| TenantId | ProductId | Rating |
|-------------------------------|
J
您可能需要至少两个触发器 - 一个用于在添加产品时为所有现有租户提供默认评级,另一个用于在添加新租户时为所有现有租户提供默认评级产品。
CREATE TRIGGER DefaultRatingsByNewTenant ON Tenant
FOR INSERT
AS
Begin
INSERT into ProductRating(TenantID, ProductID, Rating)
SELECT
i.TenantID
, p.ProductID
, 5 as defaultRating
FROM
inserted i
cross join Product p
end
另一个很容易从那里算出来...
CREATE TRIGGER DefaultRatingsByNewProduct ON Product
FOR INSERT
AS
Begin
INSERT into ProductRating(TenantID, ProductID, Rating)
SELECT
t.TenantID
, i.ProductID
, 5 as defaultRating
FROM
inserted i
cross join tenant t
end