View Full Version : اعمال نشدن SET IDENTITY_INSERT
  
bahareee
سه شنبه 07 اسفند 1386, 16:19 عصر
من از کد زیر برای disable کردن identity استفاده میکنم ول اعمال نمیشه؟؟؟!!!!
SETIDENTITY_INSERT tblname off
 
میشه منو راهنمایی کنید؟
nasseritemp
سه شنبه 07 اسفند 1386, 17:46 عصر
ببینید که  Set Identity رو  بافاصله نوشتید یا نه؟
SET IDENTITY_INSERT tblName Off
اگه درست نوشته باشید احتمالا قبلا اونرو به off ست کردید...
AminSobati
چهارشنبه 08 اسفند 1386, 01:10 صبح
اگر پیغام خطا دریافت میکنید، پست کنین
bahareee
چهارشنبه 08 اسفند 1386, 09:51 صبح
اگر پیغام خطا دریافت میکنید، پست کنین
 
با عرض سلام خدمت استاد
پیغام خطا دریافت نمی کنم ولی وقتی بعد از این کد داخل جدول insert میکنم وبرای فیلدی که identity بود مقدار میدم این پیغام رو میده:
 
An explicit value for the identity column in table 'tblname' can only be specified when a column list is used and IDENTITY_INSERT is ON.
bahareee
چهارشنبه 08 اسفند 1386, 09:56 صبح
ببینید که Set Identity رو بافاصله نوشتید یا نه؟
SET IDENTITY_INSERT tblName Off
اگه درست نوشته باشید احتمالا قبلا اونرو به off ست کردید...
 
 Set Identity  با فاصله هست.
راه دیگه ای برای disable کردن identity وجود نداره؟؟
Elham_gh
چهارشنبه 08 اسفند 1386, 11:14 صبح
Set Identity  با فاصله هست.
راه دیگه ای برای disable کردن identity وجود نداره؟؟
شما باید اون روON  کنید  نه OFF !!!!
SET IDENTITY_INSERT tblName ON
bahareee
چهارشنبه 08 اسفند 1386, 11:36 صبح
شما باید اون روON کنید نه OFF !!!!
 
 
SET IDENTITY_INSERT tblName ON
 
من میخوام به فیلدی که identity هست مقدار بدم . بنابراین باید اول identity رو disable کنم(off) با کمی search تونستم این کد و پیدا کنم 
حتی اگه identity on باشه هم همین پیغامو میده...
یعنی پیغامهای دو query زیر مثل همه :
SETIDENTITY_INSERT tblnameon
insertinto tblnamevalues('ff',8)
 
SET IDENTITY_INSERT  tblnameoff
insertinto  tblname values('ff',8)
Elham_gh
چهارشنبه 08 اسفند 1386, 13:33 عصر
دوست عزیز دستور  
SET IDENTITY_INSERT tblName ON
یعنی امکان INSERT در فیلد Identity را ON  کن
این دستور را اجرا کنید بعد می توانید در فیلد IDENTITY  عمل INSERT  را انجام دهید.تنها یک فرق هست بعد ON  کردن حتما باید در دستور INSERT اسم فیلدها رو بیارید.مثلا جدولی داریم با ساختار زیر:
CREATE TABLE [dbo].[Student](
	[StudentID] [int] IDENTITY(1,1) NOT NULL,
	[FName] [nchar](10) ,
	[LName] [nchar](10) 
) ON [PRIMARY]
برای INSERT  کردن در فیلد IDENTITY:
SET IDENTITY_INSERT student ON
INSERT INTO student(StudentID,FName,LName)
VALUES(5,'ALi','Rezaie')
 و کد زیر Error می دهد:
SET IDENTITY_INSERT student ON
INSERT INTO student
VALUES(5,'ALi','Rezaie')
bahareee
چهارشنبه 08 اسفند 1386, 14:03 عصر
از همه ممنونم
 مشکل مشخص نکردن نام فیلدها بعد از on کردن identity_insert بود
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.