پاسخ به:آموزش SQL
دوشنبه 10 آذر 1393 10:06 PM
Auto-increment یا افزایش خودکار، اجازه می دهد که یک شماره منحصر به فرد، برای سطر جدیدی که درجدول وارد می شود، تولید شود.
Wiki
خیلی اوقات می خواهیم زمانی که رکورد جدیدی وارد می شود، مقدار فیلد primary key (کلید اصلی) به طور خودکار ایجاد شود.
در این صورت از فیلد auto-increment در جدول استفاده می کنیم.
دستور زیر تعیین می کند که ستون P_Id در جدول Persons کلید اصلی با حالت افزایش خودکار باشد.
MySQL از کلید واژه AUTO_INCREMENT برای اعمال حالت افزایش خودکار استفاده می کند.
به طور پیش فرض، مقدار شروع برای AUTO_INCREMENT عدد یک می باشد و مقدار آن برای رکورد جدید، یک عدد افزایش می یابد.
برای اینکه مقدار شروع AUTO_INCREMENT را مقداری غیر از یک تعیین کنیم از دستور زیر استفاده می کنیم:
برای وارد کردن یک رکورد جدید در جدول Persons دیگر نباید مقداری برای ستون P_Id تعیین کنیم (مقداری منحصر به فرد، به صورت خودکار در این فیلد وارد می شود)
دستور بالا سطر جدیدی را در جدول Persons وارد می کند. برای ستون P_Id یک مقدار منحصر به فرد تعیین می شود. در ستون FirstName مقدار Lars و در ستون LastName مقدار Monsen می آید.
Wiki
دستور زیر تعیین می کند که ستون P_Id در جدول Persons کلید اصلی با حالت افزایش خودکار باشد.
MS SQL Server از کلید واژه IDENTITY برای اعمال حالت افزایش خودکار استفاده می کند.
به طور پیش فرض، مقدار شروع برای IDENTITY عدد یک می باشد و مقدار آن برای رکورد جدید، یک عدد افزایش می یابد.
برای اینکه تعیین کنیم که ستون P_Id با مقدار 10 شروع شود و 5 تا 5 تا افزایش یابد IDENTITY به ( IDENTITY(10,5 تغییر می یابد.
برای اینکه سطر جدیدی را در جدول Persons وارد کنیم، دیگر نیازی نیست مقداری برای ستون P_Id وارد کنیم. (مقداری منحصر به فرد، به طور خودکار در این ستون وارد می شود)
دستور بالا سطر جدیدی را در جدول Persons وارد می کند. به ستون P_Id یک مقدار منحصر به فرد داده می شود. در ستون FirstName مقدار Lars و در ستون LastName مقدار Monsen می آید.
Wiki
دستور زیر تعیین می کند که ستون P_Id در جدول Persons کلید اصلی با حالت افزایش خودکار باشد.
MS Access از کلید واژه AUTOINCREMENT برای اعمال حالت افزایش خودکار استفاده می کند.
به طور پیش فرض، مقدار شروع برای AUTOINCREMENT عدد یک می باشد و مقدار آن برای رکورد جدید، یک عدد افزایش می یابد.
برای اینکه تعیین کنیم که ستون P_Id با مقدار 10 شروع شود و 5 تا 5 تا افزایش یابد AUTOINCREMENT به ( AUTOINCREMENT(10,5 تغییر می یابد.
برای اینکه سطر جدیدی را در جدول Persons وارد کنیم، دیگر نیازی نیست مقداری برای ستون P_Id وارد کنیم. (مقدار منحصر به فردی به طور خودکار در این ستون وارد می شود)
دستور بالا سطر جدیدی را در جدول Persons وارد می کند. به ستون P_Id یک مقدار منحصر به فرد داده می شود. در ستون FirstName مقدار Lars و در ستون LastName مقدار Monsen می آید.
Wiki
در Oracle کار کمی پیچیده تر است.
شما باید فیلد auto-increment را با یک شیء sequence ایجاد کنید. (این شیء، یک توالی از اعداد را تولید می کند)
برای تولید اعداد متوالی، از دستور CREATE SEQUENCE که در زیر آمده استفاده کنید.
دستور بالا یک شی sequence با نام seq_person ایجاد می کند، که با عدد یک شروع و یک عدد یک عدد افزایش می یابد. همچنین برای کارآیی و سرعت دسترسی بیشتر تا 10 مقدار در حافظه نگهداشته می شود (Cache).
برای درج یک رکورد جدید در جدوف "Persons"، باید از تابع nextval استفاده کنیم. (این تابع، مقدار بعدی sequence تعریف شده در بالا را برمی گرداند)
دستور بالا سطر جدیدی را در جدول Persons وارد می کند. به ستون P_Id یک مقدار منحصر به فرد داده می شود. در ستون FirstName مقدار Lars و در ستون LastName مقدار Monsen می آید.