درود
کسی از دوستان اطلاعاتی از نوع داده ای timestamp داره؟
ممنون میشم اگه راهنمائیم کنید.
درود
کسی از دوستان اطلاعاتی از نوع داده ای timestamp داره؟
ممنون میشم اگه راهنمائیم کنید.
زمانی که می خواهید ترتیب ورود زمانی رو حفظ کنید از این نوع داده استفاده می کنید. اگر به اسمش دقت کنید بهتر متوجه خواهید شد: مهر زمانی = هر دیتا به محض ورود یک مهر می خوره که چه زمانی وارد شده.
هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مىآورند
منظوررتون این هست که SQL Server به طور خودکار این کار رو انجام میده؟
"مهر زمانی" شامل تاریخ و ساعت هست؟
بلهمنظوررتون این هست که SQL Server به طور خودکار این کار رو انجام میده؟
خیر. یک عدد binary ی 8 بایتی است"مهر زمانی" شامل تاریخ و ساعت هست؟
برای توضیح بیشتر Identity رو در نظر بگیرید و فرض کنید حتی با update شدن هم تغیر کنه که میشه timeStamp
هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مىآورند
و چطوری میشه از اون استفاده کرد، در اصل کاربرد اون رو میخوام بدونم.
با تشکر از شما.
دوست عزیزم،
این نوع فیلد، یک عدد باینری هستش که هر وقت شما یک رکورد ایجاد کنین، این فیلد به طور اتوماتیک مقدار میگیره. هر وقت این رکورد(هر کدوم از فیلدهایش) Update بشه، مقدار TimeStamp جدید میشه.
مایکروسافت تضمین میکنه که هر مقدار TimeStamp برای دیتابیس Unique هست. یعنی حتی اگر چند جدول داشته باشین که همشون از این نوع فیلد دارند، باز مقدار تکراری در دیتابیس روی TimeStamp وجود نخواهد داشت.
اما استفاده از این نوع فیلد:
در محیط های Multi User نرم افزار شما میتونه به جای Lock کردن رکورد خوانده شده، از این فیلد استفاده کنه تا همزمانی کاهش پیدا نکنه. مثلا وقتی Query انجام میدین و به Client میبرین، این فیلد رو هم در Select قرار بدین. وقتی کاربر رکورد رو ویرایش کرد و میخواد به سرور منتقل کنه، برنامه شما مقدار TimeStamp که در جدول وجود داره رو مجددا میخونه و با مقداری که در کلاینت هست مقایسه میکنه. اگر یکسان بود، شما با خیال راحت رکورد رو Update میکنین و مطمئن هستید در طول این مدت، کاربر دیگه ای رکورد رو ویرایش نکرده (چون اگر ویرایش کرده بود، مقدار TimeStamp برای رکورد تغییر میکرد). ولی اگر یکی نبود، برنامه به کاربر Alert میده و چند انتخاب براش فراهم میکنه که اگر خواست مجددا رکورد رو از جدول بخونه و با چیزی که خودش ویرایش کرده مقایسه کنه.
این بهترین استراتژی در محیط های چند کاربره هستش که دیگه شما رکورد رو Lock نمیکنین و جلوی کار کاربران دیگه گرفته نمیشه.
پس از این نوع فیلد باید تو جدول یکی باشه، چون بیشتر از یکی کاربردی نداره.
دقیقا! البته بیشتر از یکی هم SQL Server اجازه نمیده برای هر جدول
بله،
دقیقا برای هر جدول یک فیلد از نوع TimeStamp میتونیم داشته باشیم.
'Table1' table
- Unable to modify table.
ODBC error: [Microsoft][ODBC SQL Server Driver][SQL Server]A table can only have one timestamp column. Because table 'Table1' already has one, the column 'upgrade1' cannot be added.
راهی وجود داره که فیلد نو TS رو به تاریخ و زمان تبدیل کرد؟ و نیازی به ایجاد یک فیلد جدید برای نگه داری زمان نباشد.
... چه بگویم که غم از دل برود چون تو بیایی
ممنون از تمام دوستانی که راهنمائی کردند. :flower:
این مورد برای من هم سواله اگه از دوستان کسی لطف کنه پاسخ بده ممنون میشمنوشته شده توسط hr110
اگر عدد ذخیره شده(timestamp) را بر 86400 تقسیم کنید و به 00:00:00 1970/01/01 اضافه کنید تاریخ و ساعت درج رکورد را بدست خواهید آورد.