الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال في الاجراءات المخزنه Stored Procedure

بدأه omani في 19 مارس 2014 · 1 رد · 962 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

لدي اجراء مخزن Stored Procedure كالتالي 

ALTER PROCEDURE [dbo].[AddUser]
	
	@UserID nvarchar(20),
	@UserName nvarchar(150),
	@AccSec nvarchar(150)
	
AS
BEGIN
	SET NOCOUNT ON;

' هنا قبل تنفيذ الجملة كيف اقوم بفحص القيمة في قاعدة البيانات 

    -- Insert statements for procedure here
	insert into tbl_Accounts ([User_ID],[UserName],[Acc_Sec]) values (@UserID,@UserName ,@AccSec)
END

أرغب في أن يقوم الاجراء بفحص قيمة User_ID  قبل أن يقوم بجملة insert  اذا كان الحساب موجود مسبقا فيقوم بتشغيل جملة Update بدلا منها . 

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#2

تم الحل 

ALTER PROCEDURE [dbo].[AddUser]
	
	@UserID nvarchar(20),
	@UserName nvarchar(150),
	@AccSec nvarchar(150)
	
AS
 declare @UserNo int;
BEGIN
	SET NOCOUNT ON;

 select @UserNo= COUNT([user_ID]) from tbl_Accounts where [USER_ID]=@UserID;
   
 if(@UserNo=0 )  
 
	insert into tbl_Accounts ([User_ID],[User_Name],[Acc_Sec]) values (@UserID,@UserName ,@AccSec);
else
   update tbl_Accounts set [User_Name]=@UserName ,[Acc_Sec]=@AccSec where
   [User_ID]=@UserID;
 
END

للاستفادة 

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

مواضيع مشابهة