我正在使用sql server数据库。我有我的分贝与1 to many
协会的2个表。首先是父母表和第二个是子表。 父表有一列ChildCount无论何时添加或删除此父项的子项,它都将进行更新。如何编写简单的sql程序?
因此,为此我决定编写一个存储过程和一个DML触发器,它将对子表上的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
在这里,我不知道如何提取总孩子和保存它在一个变量中,而不是在更新语句中使用该变量?
请指导我在这个CREATE PROCEDURE后,建议我在做什么这是正确的,好的和有效的方法或有其他更好的方法来做到这一点?
嘿,为什么要投票?我告诉我,我是全新的数据库 – user1740381 2013-04-29 03:38:59
你打算从触发器以外的地方执行这段代码吗?如果没有,你可能只需将代码放入触发器即可。 – DeanOC 2013-04-29 03:43:04
没有列是“ChildCount”,总共有孩子我的意思是说单个父项目的所有孩子 – user1740381 2013-04-29 03:46:40