سلام دوستان
چند وقت پیش تو درس آزمایشگاه پایگاه داده یک سوال امتیازی بهمون داده شد، که متاسفانه با گشتن توی اینترنت چیزی تو سایت های ایرانی پیدا نکردم
سوال این بود:
دو دستور select داریم که یکی داده رو تغییر میده:
;select next_val.sequence from dual
و یکی که داده رو تغییر نمیده:
;select curnent_val.sequence from dual
سوال اینجاست که چطور کار میکنن و عملکردشون چطورهستش؟
برای رسیدن به جواب مجبور شدم کلمه به کلمه جستجو کنم تا بفهمم هر قسمت از دستور چه کاری انجام میده که به این نتیجه رسیدم:
در دستور اول دستور nexval مقدار بعدی را بر اساس گام افزایش می دهد و
برای بازیابی مقدار بعدی در دنباله استفاده شده است
و Sequence در واقع روشی برای تولید اعداد ترتیبی با قابلیت افزایش یا کاهش
عددهای دلخواه میباشد که توسط کاربر یا برنامه نویس ایجاد میشود.
بنابراین Sequenceها User-Defined میباشند.
در زمان ایجاد Sequence، نوع آن میبایست عددی باشد، چنانچه ،Type آن را
مشخص نکنیم، SQL Server، نوع آن را bigint در نظر میگیرد.
اما در دستور دوم یک جریان یا یک سری مقادیر را به صورت سری به عنوان خروجی می آورد
اما استاد گفتن که کامل نیست و 0.8 نمره رو از 1 نمره گرفتم
اگر از دوستان کسی میتونه کاملش کنه، تا کسانی مثل من که زبانشون خوب نیست بتونن استفاده کنن...
ممنون