PDA

View Full Version : insert اطلاعات بعد از یک شرط



ramin149
یک شنبه 07 اسفند 1390, 13:05 عصر
من اول یک select از جدول مورد نظرم نوشتم . حالا نمی دونم این اطلاعات گرفته شده را در چه متغییری در sp بریزم که تعداد سطر اطلاعات را حساب کنم که اگر اطلاعاتی وجود نداشت insert را انجام بده . نمونه کدی را که نوشتم را قرار می دهم تا مفهوم سوالم را بفهمید .

ALTER Procedure [dbo].[ProductsListInsert]
(
@IdProducts int ,
@Text nvarchar(max),
@Value int
)
as
Begin
select * from dbo.tbl_ProductsList where (dbo.tbl_ProductsList.Text=@Text) And (dbo.tbl_ProductsList.IdProductsList=@IdProducts)
در اینجا می خوام یک شرط بنویسم که اگر مقدار selete دستور بالا خالی بود insert پایین را انجام دهد .
insert into dbo.tbl_ProductsList(IdProducts,Text,IdAccessList) values
(@IdProducts,@Text,@Value)
end

Galawij
یک شنبه 07 اسفند 1390, 13:14 عصر
IF Exists (Select 1 From ... Where ...) Insert Into ...

ramin149
یک شنبه 07 اسفند 1390, 13:35 عصر
IF Exists (Select 1 From ... Where ...) Insert Into ...

درباره کدی که گذاشتید یک توضیح می دید . در کجای خط می گیم اگر اطلاعاتی وجود نداشت بره و عملیات مورد نظرمون رو انجام بده ؟

Galawij
یک شنبه 07 اسفند 1390, 13:40 عصر
درباره کدی که گذاشتید یک توضیح می دید . در کجای خط می گیم اگر اطلاعاتی وجود نداشت بره و عملیات مورد نظرمون رو انجام بده ؟
اگر وجود نداشت؟؟ ببخشید من فکر کردم اگر وجود داشته بعد Insert بشه. دستور را به این صورت تغییر بدید:
IF Not Exists (Select 1 From ... Where ...) Insert Into ....
دستور Select خودتون را داخل پرانتزها مقابل IF Not Exists بذارید، این شرط عدم وجود سطری را از جدول چک می کند اگر جواب درست بود عملیات درج پس از آن انجام می شود.

naser_feb8646
یک شنبه 20 فروردین 1391, 14:27 عصر
سلام
دوست عزیز ممنون از جواب شما
من یه سوال برام پیش اومد
من چطوری میتونم بفهمم که آیا جواب شرط درست بوده یا نه؟
بزارید دقیق تر بگم
من میخوام این شرط رو توی یه sp بزارم و بعد از داخل asp.net فراخوانیش کنم حالا میخوام اگر مقدار در جدول موجود بود و عملیات insert انجام نشد یه پیام خطا برای کاربر برگردونم
اگر میشه لطف کنید و کمکم کنید

Galawij
یک شنبه 20 فروردین 1391, 15:48 عصر
من میخوام این شرط رو توی یه sp بزارم و بعد از داخل asp.net فراخوانیش کنم حالا میخوام اگر مقدار در جدول موجود بود و عملیات insert انجام نشد یه پیام خطا برای کاربر برگردونم
اگر میشه لطف کنید و کمکم کنید
سلام،
قبلاً این مورد را کامل در پست شماره 4 این لینک (http://barnamenevis.org/showthread.php?329474-مبانی-اس-کیو-ال-قیدها(Constraints)) توضیح دادم.
موفق باشید.