কিভাবে SQL Server 2008 ব্যবহার করে IDENTITY_INSERT চালু এবং বন্ধ করবেন?




sql-server-2008 (6)

MSDN এসকিউএল এর মাধ্যমে

SET IDENTITY_INSERT sometableWithIdentity ON

INSERT sometableWithIdentity (IdentityColumn, col2, col3, ...)
VALUES (AnIdentityValue, col2value, col3value, ...)

SET IDENTITY_INSERT sometableWithIdentity OFF

সম্পূর্ণ ত্রুটির বার্তাটি আপনাকে ঠিক কি বলেছে ...

IDENTITY_INSERT বন্ধ করার সময় টেবিলে 'কিছুটা ওয়েথ আইডেন্টিটি' পরিচয় কলামের জন্য স্পষ্ট মান সন্নিবেশ করা যাবে না।

IDENTITY_INSERT বন্ধ করার পরে কেন আমি একটি সন্নিবেশ করানো একটি ত্রুটি পাচ্ছি?

কিভাবে আমি SQL Server 2008 এ সঠিকভাবে চালু করব? এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও ব্যবহার করে?

আমি এই প্রশ্নটি চালাচ্ছি:

SET IDENTITY_INSERT Database. dbo. Baskets ON

তারপর আমি কনসোলে বার্তা ফিরে পেয়েছিলাম যে কমান্ড সফলভাবে সম্পন্ন হয়েছে। যাইহোক, যখন আমি অ্যাপ্লিকেশনটি চালাচ্ছি, এটি এখনও আমাকে দেখানো ত্রুটিটি দেয়:

Cannot insert explicit value for identity column in table 'Baskets' when 
IDENTITY_INSERT is set to OFF.

আমদানি: আপনি INSERT বিবৃতিতে কলাম লিখতে হবে

INSERT INTO TABLE
SELECT * FROM    

সঠিক নয়.

Insert into Table(Field1,...)
Select (Field1,...) from TABLE

সঠিক


আমি জানি এটি একটি পুরানো থ্রেড কিন্তু আমি শুধু এই মধ্যে bumped। ব্যবহারকারী যদি অন্য কোনও সেশন পরে IDENTITY_INSERT সেট করে আইডেন্টিটি কলামে ঢোকানোর চেষ্টা করছে, তবে সে উপরের ত্রুটিটি পেতে বাধ্য।

আইডেন্টিটি সন্নিবেশ মান সেট করা এবং পরবর্তী সন্নিবেশ DML কমান্ড একই অধিবেশন দ্বারা চালানো হয়।

এখানে @ বিজনার আলাদাভাবে আইডেন্টিটি সন্নিবেশ স্থাপন করছেন এবং তারপরে তার আবেদন থেকে সন্নিবেশ চালাচ্ছেন। এজন্য তিনি নীচের ত্রুটিটি পেয়েছেন:

Cannot insert explicit value for identity column in table 'Baskets' when 
IDENTITY_INSERT is set to OFF.

পরিচয় সন্নিবেশ সেট করার পরে আপনাকে 'যান' কমান্ড যোগ করতে হবে। উদাহরণ:

SET IDENTITY_INSERT sometableWithIdentity ON
go

INSERT sometableWithIdentity (IdentityColumn, col2, col3, ...)
VALUES (AnIdentityValue, col2value, col3value, ...)

SET IDENTITY_INSERT sometableWithIdentity OFF
go

আপনার কাছে যখন প্রাথমিক কী ক্ষেত্র থাকে এবং এটি এমন একটি মান সন্নিবেশ করানো হয় যা সদৃশ হয় বা আপনার INSERT_IDENTITY ফ্ল্যাগ সেট চালু থাকে


এটি একটি SET IDENTITY_INSERT ডেটাবেস স্থাপন করতে নিরপেক্ষ দেখাচ্ছে। dbo। বাথটব চালু; ব্যাচ পাঠানোর প্রতি এসকিউএল ইনসার্ট আগে। / আপনি বিভিন্ন INSERT পাঠাতে পারেন ... মূল্য ... কমান্ডগুলি একটি SET IDENTITY_INSERT দিয়ে শুরু হয়েছে ... চালু; শুরুতে স্ট্রিং। কেবলমাত্র কোনও ব্যাচ বিভাজককে / আমি জানি না কেন SET IDENTITY_INSERT ... প্রেরণকারী ব্লকের পরে কাজ বন্ধ করে দেয় (প্রাক্তন জন্য। এক্স এক্সটেনউননকুইউরির (C #)) ... আমাকে সেট করা হয়েছে IDENTITY_INSERT ... চালু করুন; আবার এসকিউএল কমান্ড স্ট্রিং শুরুতে।





sql-server-2008