Mundarija:

Kursordagi har bir qatorni takrorlash uchun qaysi SQL buyrug'idan foydalaniladi?
Kursordagi har bir qatorni takrorlash uchun qaysi SQL buyrug'idan foydalaniladi?

Video: Kursordagi har bir qatorni takrorlash uchun qaysi SQL buyrug'idan foydalaniladi?

Video: Kursordagi har bir qatorni takrorlash uchun qaysi SQL buyrug'idan foydalaniladi?
Video: 10 эффективных приемов самомассажа, которые помогут убрать живот и бока. Коррекция фигуры 2024, May
Anonim

In SQL Server kursor bo'lgan vositadir ustidan takrorlash uchun ishlatiladi natija to'plami yoki to har bir qatorni aylanib o'ting bir natija to'plami qator bir vaqtning o'zida. Bu ma'lumotlar to'plami bilan ishlashning eng yaxshi usuli bo'lmasligi mumkin, lekin agar kerak bo'lsa halqa qatori azoblash orqali qator (RBAR) T-da SQL skript keyin a kursor qilishning bir usuli hisoblanadi.

Keyinchalik, SQL kursorini qanday ishlatishim mumkinligi so'ralishi mumkin.

SQL protseduralarida kursorlardan foydalanish uchun siz quyidagilarni bajarishingiz kerak:

  1. Natijalar to'plamini belgilaydigan kursorni e'lon qiling.
  2. Natijalar to'plamini o'rnatish uchun kursorni oching.
  3. Kursordan kerak bo'lganda ma'lumotlarni bir vaqtning o'zida bir qatorda mahalliy o'zgaruvchilarga olib boring.
  4. Ish tugagach, kursorni yoping.

SQL misolida kursor nima? Oracle qayta ishlash uchun kontekst maydoni deb nomlanuvchi xotira maydonini yaratadi SQL bayonotni qayta ishlash uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga olgan bayonot; uchun misol , ishlov berilgan qatorlar soni va boshqalar A kursor a ko'rsatgich ushbu kontekst sohasiga. A kursor a tomonidan qaytarilgan qatorlarni (bir yoki bir nechta) ushlab turadi SQL bayonot.

Xuddi shunday, qaysi kursor yaxshiroq yoki while tsikli?

Unchalik emas. U nima qilayotgani nuqtai nazaridan, a while tsikli va a kursor ikkalasi ham bir xil ishni bajaradi, ular bir vaqtning o'zida bir qatorda ishlaydi. Ko'p odamlar olib tashlashga harakat qilganda kursor -asoslangan kod, uni oddiygina a bilan almashtiring while tsikli , tezroq ishlaydi degan umidda, chunki bu * yomon emas* kursor.

Kursorni qanday yarataman?

Yuqoridagi sintaksisda deklaratsiya qismi o'z ichiga oladi deklaratsiya ning kursor va kursor olingan ma'lumotlar tayinlanadigan o'zgaruvchi. The kursor da berilgan "SELECT" iborasi uchun yaratilgan kursor deklaratsiyasi . Ijro qismida, e'lon qilingan kursor ochiladi, olinadi va yopiladi.

Tavsiya: