PDA

View Full Version : سوال: Checking قبل از Insert داخل يك ستون



shayesteh_bh
دوشنبه 04 آذر 1387, 11:49 صبح
با سلام ;
من يك Store Procedure دارم كه عمل Insert رو انجام ميده. كد اون به صورت زير است :

BEGIN
SET NOCOUNT ON;

INSERT INTO [AHP_Score_Bucket]
(AHP_Model_Id,Rank_Id,Min_Score,Max_Score)
VALUES(@AHP_Model_Id,@Rank_Id,@Min_Score,@Max_Scor e)

set @Id = Scope_Identity()
return @Id

END

اما وقتي مي خوام داخل ستون Rank_Id عمل Insert وارد كنم مي بايست حتما قبل آن يك Constrant رو چك كنم به اين صورت كه اگر AHP_Score_Bucket.AHP_Model_Id = Rank.AHP_Model_Id هست عمل Insert انجام شود. اين چك بنا به دلايلي بايد انجام شود.ميشه كمك كنيد كه چطور و كجا اين چك نوشته شود؟

masoudcg1
دوشنبه 04 آذر 1387, 19:28 عصر
با استفاده از
if exist (select * from AHP_Score_Bucket,Rank where AHP_Score_Bucket.AHP_Model_Id = Rank.AHP_Model_Id )
begin
SET NOCOUNT ON;

INSERT INTO [AHP_Score_Bucket]
(AHP_Model_Id,Rank_Id,Min_Score,Max_Score)
VALUES(@AHP_Model_Id,@Rank_Id,@Min_Score,@Max_Scor e)

set @Id = Scope_Identity()
return @Id

end