با عرض سلام و خداقوت خدمت همه علاقمندان به مبحث بانک های اطلاعاتی
توی این مطلب می خوایم با یه مثال ساده استفاده از Cursor رو یاد بگیریم.
در مورد سوال هاتون هم تا جایی که بتونم کمک می کنم. پیشاپیش از همراهی شما ممنونم.
خب بریم سراغ آموزش ...
اگه بخوایم خیلی جمع و جور یه تعریف از Cursor داشته باشیم ، می تونیم بگیم کرسر یه شی هست که پیمایش سطر به سطر داده های یک جدول رو برای ما ممکن می کنه.
DECLARE @Customer INT;
DECLARE @date1 DATE;
DECLARE @cur CURSOR
SET @cur=CURSOR FOR SELECT CustomerID,OrderDate FROM Sales.SalesOrderHeader
OPEN @cur;
FETCH NEXT FROM @cur INTO @Customer,@date1;
WHILE @@FETCH_STATUS=0
BEGIN
PRINT CAST(@Customer AS NVARCHAR(50))+' '+CAST(@date1 AS NVARCHAR(50))
FETCH NEXT FROM @cur INTO @Customer,@date1
END
CLOSE @cur
DEALLOCATE @cur
GO
- اول از همه دو تا متغیر تعریف کردیم. (Customer , @date1@)
- در قدم بعدی Cursor رو تعریف کردیم. (cur@)
- بهش میگیم که سطرها رو از فلان جدول و فلان ستون ها بخون
- Cursor رو باز می کنیم.
- حالا شروع به واکشی سطرها می کنیم و بعدش با یه دستور While واکشی رو سطر به سطر انجام میدیم تا وقتی که اطلاعات جدول به طور کامل خونده بشن
- بستن Cursor و قدم آخر آزادسازی Cursor
فقط دو تا نکته یاتون باشه که همه ی این دستورات را باید به صورت یکجا اجرا کنید و اینکه برای استفاده از دستور PRINT حتما باید متغیرهای خودتون رو به کاراکتر تبدیل کنین.
خیلی ممنون از توجهتون امیدوارم مفید بوده باشه
با تشکر از سایت های توسینسو و پروژه چی