我正在研究 sql server 数据库。我的数据库中有 2 个1 to many
关联表。第一个是父表,第二个是子表。父表有一个ChildCount列,只要添加或删除此父项的子条目,该列就会更新。
所以为此我决定编写一个存储过程和一个 DML 触发器,它将在Child表上的 INSERT 和 DELETE 操作上执行。我是数据库的新手。我尝试过的是:
首先我试图创建一个程序(我将从触发器执行)
CREATE PROCEDURE [dbo].[ChildCount]
@parentId int
AS
//here first i have to extract the total child for the given parentId and
//than in the next update statement i will update the count.
UPDATE Parent
SET ChildCount = //above total child value
WHERE Id = parentId
RETURN 0
在这里,我不明白如何提取一个总的孩子并将其保存在一个变量中,而不是在更新语句中使用该变量?
请在指导我完成这个创建过程之后,建议我做的事情是正确的、好的和有效的方法,或者还有其他更好的方法吗?