ورود

View Full Version : تعداد رکوردهایی که یه Select برمیگردونه



odiseh
سه شنبه 17 بهمن 1385, 16:54 عصر
سلام
من می دونم که @@RowCount تعداد رکوردهایی رو که یه دستور Select برمیگزدونه رو به ما میده ولی من می خوام این تعداد رو توی یه متغیر نگه دارم.....

ولی مثل اینکه وقتی میخوام این @@RowCount رو توی یه متغیر save کنم نتیجه عوض میشه....

راه حل چیه؟

zerobit-ltd
سه شنبه 17 بهمن 1385, 19:19 عصر
declare @i int
select *
from tbl_Students
set @i = @@rowcount
ذخیره rowcount@@ داخل یک متغیر باید بلافاصله پس از اجرای select باشه. چون با اجرای هر خط، مقدار متغیر rowcount@@ عوض می شه.
مثلا تو کد زیر، print @i دوم، 0 رو چاپ می کنه.


declare @i int
select *
from tbl_Students
set @i = @@rowcount
print @i
set @i = @@rowcount
print @i
کد زیر هم مقدار 1 رو چاپ می کنه.


declare @i int
select *
from tbl_Students
set @i = @@rowcount
print @@rowcount

پس می بینیم که از rowcount@@ باید به موقع استفاده کنیم.