আমি একটি নির্দিষ্ট টেবিল যা পরীক্ষার জন্য SEQUENCE
অবজেক্টটিকে পরীক্ষা করে দেখছি এবং পপুলেট করার প্রক্রিয়াধীন । এই প্রক্রিয়াটিতে আমি কয়েক হাজার inোকানো লাইন দিয়ে টেবিলটি পপুলেটিং পরীক্ষা করছি (যেহেতু আমি এটি কীভাবে প্রোগ্রাম করব তা অপরিচিত)। এই নির্দিষ্ট সারণীর সাথে আমি যে সমস্যাটি দেখছি তা হ'ল আমি যখন অন্য জনসংখ্যা পরীক্ষা শুরু করি তখন আমার SEQUENCE
প্রথম সংখ্যায় (যা 1) পুনরায় সেট হয় না।
যখন আমি নতুন পরীক্ষাটি পুনরায় চালাতে ইচ্ছুক তখন আমি প্রশ্নাবদ্ধ সারণীটি মুছে ফেলি তবে নিম্নলিখিতগুলি চালিত করুন:
DROP SEQUENCE foo.fee;
GO
DROP SCHEMA foo;
GO
আমি যখন পরীক্ষাটি আবার চালাতে চাই তখন আমি নীচের ক্রমানুসারে নিম্নোক্ত SCHEMA
ও SEQUENCE
আদেশগুলি চালিত করি:
CREATE SCHEMA foo;
GO
CREATE SEQUENCE foo.fee
START WITH 1
INCREMENT BY 1
NO CYCLE
NO CACHE;
GO
আমি তখন টেবিলটি তৈরি করি:
CREATE TABLE foo.sample_table_with_data
(order_number bigint PRIMARY KEY NOT NULL,
sample_column_one nvarchar(max) NULL,
sample_column_two nvarchar(max) NULL,
sample_column_three nvarchar(max) NULL)
GO
এটি শেষ হয়ে গেলে আমি নিম্নলিখিত সন্নিবেশ কমান্ডটি 50,000 বার চালাব:
INSERT INTO [foo].[sample_table_with_data]
(
[order_number],
[sample_column_one],
[sample_column_two],
[sample_column_three]
)
VALUES
(
NEXT VALUE FOR foo.fee,
'Blah',
'Blah Blah',
'Blah Blah Blah'
)
এখন টেবিলে ডেটা প্রবেশের সাথে একেবারেই কোনও সমস্যা নেই। আমি যে চ্যালেঞ্জটির মুখোমুখি হচ্ছি তা হ'ল আমি যখন টেবিলটি মুছব, স্কিমা এবং সিকোয়েন্সটি ফেলে দিই সারণি, সিকোয়েন্স এবং স্কিমাটি আবার তৈরি করব SEQUENCE
পূর্ববর্তী ডাটাবেস অবতারে সর্বশেষ সংখ্যাটি থেকে পুনরায় তৈরি করব এবং একটিতে পুনরায় সেট না করব।
উদাহরণস্বরূপ, যদি সিকোয়েন্সের শেষ সংখ্যাটি 634,534 বলে তবে নতুন সারণিতে পরবর্তী সিকোয়েন্স নম্বরটি 634,535।
টেবিলটি মুছে ফেলার পরে এবং স্কিমা এবং সিকোয়েন্সটি ফেলে দেওয়ার পরে আমি ক্রম এবং স্কিমা অপসারণ যাচাই করতে নিম্নলিখিতটি চালিত করছি:
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
GO
SELECT * FROM sys.sequences
GO
আমি কেন স্ট্যাম্পড হয়ে যাচ্ছি? আমি এখানে অন্য কমান্ড অনুপস্থিত আছে যা আমাকে এখানে ঠিক কী চলছে তা স্থানীয়করণে সহায়তা করবে?
আমার নোট করা উচিত যে এই টেবিলটি একটি 7 অন্যান্য টেবিলের সাথে একটি ডাটাবেসের সাথে সম্পর্কিত যা সমস্ত SEQUENCE
কমান্ডটি সঠিকভাবে চালাচ্ছে ।
এটি একটি এসকিউএল 2012 এসপি 1 এন্টারপ্রাইজ সংস্করণ ইনস্টলেশন।