PDA

View Full Version : سوال: ROWCOUNT IN SQL



s_mokhtari
پنج شنبه 06 خرداد 1389, 09:38 صبح
با سلام
من اين كد را نوشتم درجش درست فقط پيغام كه ميده متن را نشون ميده تعداد ركورد را نشونم نميده چرا
ALTER PROCEDURE [dbo].[STR_ADD_KOMISION]
(@sI int,
@dI int,
@sal nvarchar(9)

)


AS
insert into tbl_pardakh(customerid,driverid,scoolid,SAL)
SELECT dbo.Tbl_Customer.CustomerID, dbo.Tbl_Customer.DriverID, dbo.Tbl_Customer.ScoolID, dbo.Tbl_pardakh.sal
FROM dbo.Tbl_ScoolM INNER JOIN
dbo.Tbl_Scool ON dbo.Tbl_ScoolM.ScoolNo = dbo.Tbl_Scool.ScoolNo INNER JOIN
dbo.Tbl_pardakh ON dbo.Tbl_Scool.ScoolID = dbo.Tbl_pardakh.scoolid RIGHT OUTER JOIN
dbo.Tbl_Driver ON dbo.Tbl_pardakh.DriverID = dbo.Tbl_Driver.DriverID RIGHT OUTER JOIN
dbo.Tbl_Customer ON dbo.Tbl_pardakh.CustomerID = dbo.Tbl_Customer.CustomerID AND dbo.Tbl_Scool.ScoolID = dbo.Tbl_Customer.ScoolID AND
dbo.Tbl_Driver.DriverID = dbo.Tbl_Customer.DriverID
WHERE (dbo.Tbl_Customer.ScoolID = @sI) AND (dbo.Tbl_Customer.DriverID = @dI) AND (dbo.Tbl_pardakh.CustomerID IS NULL)

RAISERROR('اطلاعات با موفقيت ثبت شد',16,1,@@rowcount )
با تشكر

AminSobati
پنج شنبه 06 خرداد 1389, 17:40 عصر
سلام دوست عزیزم،
شما پارامتر در پیغام خطا ندارین:



raiserror ('totally %d number of rows were updated',16,1,@@rowcount)

s_mokhtari
پنج شنبه 06 خرداد 1389, 23:07 عصر
سلام دوست عزیزم،
شما پارامتر در پیغام خطا ندارین:



raiserror ('totally %d number of rows were updated',16,1,@@rowcount)

با سلام:خجالت:
از راهنمايي شما بسيار بسيار متشكرم
واقعان كمكم كرديد داشتم ديگه گيج ميشدم
يه سوال ديگه هم دارم ميخوام موجودي كالا را چك كنم مثلان تعداد كالاهايي كه خريد شده يا فروش رفته هر دفعه موجودي كالا را بهم بده تحقيق كردم گفتن از تريگر استفاده كن ولي چطوري وقتي يه فاكتور ميزنم موجودي كالا را چك كنه ميشه كمكم كنيد
با تشكر
خيلي عجله دارم:گریه:

Rejnev
پنج شنبه 06 خرداد 1389, 23:30 عصر
در اس کیو ال یک تابع بنویس که کد کالا رو بگیره و موجودی رو برگردونه:



select nameKala,dbo.Mojodi(CodeKala) from kala
-------------کلیت کار
create function mojodi @codeKala int returns int as
begin
return (isnull((select sum(tedad) from Kharid where codeKala=@codeKala),0)) -
(isnull((select sum(tedad) from Foroosh where codeKala=@codeKala),0))
end

s_mokhtari
جمعه 07 خرداد 1389, 10:03 صبح
سلام دوست عزیزم،
شما پارامتر در پیغام خطا ندارین:



raiserror ('totally %d number of rows were updated',16,1,@@rowcount)

با سلام
اگه بخوام وقتي روكانت صفر يه پيغام بده اگه بزرگتر از صفر بود يه پيغام ديگه بده بايد چيكار كنم

if (@@rowcount=0(
raiserror('not')
else
raiserror (' %dركورد درج شده است',16,1,@@rowcount)
ولي جواب نميده

با تشكر

s_mokhtari
جمعه 07 خرداد 1389, 10:04 صبح
در اس کیو ال یک تابع بنویس که کد کالا رو بگیره و موجودی رو برگردونه:



select nameKala,dbo.Mojodi(CodeKala) from kala
-------------کلیت کار
create function mojodi @codeKala int returns int as
begin
return (isnull((select sum(tedad) from Kharid where codeKala=@codeKala),0)) -
(isnull((select sum(tedad) from Foroosh where codeKala=@codeKala),0))
end


با سلام
آخه من فقط يه ستون به نام تعداد كالا دارم براي خريد و فروش ستون جدا نگرفتم
با تشكر

Rejnev
جمعه 07 خرداد 1389, 12:35 عصر
مگه خرید و فروش جداول جدا نیستن؟
من جمع یک کالا رو در جدول خرید محاسبه کردم و از جمعش در جدول فروش تفریق کردم.
شما جداولی که کلید خارجی به کالا دارن و روی موجودی کالا اثر میذارن رو باید سام بگیری
اگر هم خواستی خلاصه اون جداول رو بذار تا تابع رو اصلاح کنم

s_mokhtari
جمعه 07 خرداد 1389, 16:44 عصر
مگه خرید و فروش جداول جدا نیستن؟
من جمع یک کالا رو در جدول خرید محاسبه کردم و از جمعش در جدول فروش تفریق کردم.
شما جداولی که کلید خارجی به کالا دارن و روی موجودی کالا اثر میذارن رو باید سام بگیری
اگر هم خواستی خلاصه اون جداول رو بذار تا تابع رو اصلاح کنم
با سلام
من يه جدول بيشتر ندارم ميخوام اگه چيزي خريد شد به موجودي كالا اضافه بشه اگه هم چيزي فروش رفت اتوماتيك از ستون تعداد كالا كم بشه در واقع يه جدول بيشتر ندارم
با تشكر

Rejnev
جمعه 07 خرداد 1389, 19:29 عصر
اگه اون ردیف ادیت شد و حذف شد رو هم باید در نظر بگیرید.
http://barnamenevis.org/forum/showthread.php?t=222252
بهتره موجودی انبار محاسبه بشه تا ذخیره.
با آرزوی موفقیت