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




sql-server-2008 (5)

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

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.

আমি একটি সমস্যা ছিল যেখানে এটি IDENTITY_INSERT চালু করার পরেও এটি সন্নিবেশ করানোর অনুমতি দেয় নি।

সমস্যাটি ছিল যে আমি কলামের নাম উল্লেখ করিনি এবং কিছু কারণে এটি পছন্দ করে নি।

INSERT INTO tbl Values(vals)

সুতরাং মূলত সম্পূর্ণ TLB (cols) মান (vals)


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


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

SET IDENTITY_INSERT sometableWithIdentity ON
go

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

SET IDENTITY_INSERT sometableWithIdentity OFF
go

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

INSERT INTO TABLE
SELECT * FROM    

সঠিক নয়.

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

সঠিক







sql-server-2008