2012-10-05 20 views
8

मैं आदेश तालिका मैं SQL सर्वर 2012 एक्सप्रेस का उपयोग में पहचान को बदलने के लिए एक मेज और अनुक्रम बनाते लेकिन जब मैं मेज पर डेटा डालने के लिएSQL सर्वर 2012 अनुक्रम

संदेश 11719 की कोशिश की मैं इस त्रुटि मिलती है , स्तर 15, राज्य 1, रेखा 2
चेक बाधाओं, डिफ़ॉल्ट वस्तुओं, गणना कॉलम, विचारों, उपयोगकर्ता परिभाषित कार्यों, उपयोगकर्ता परिभाषित समेकित, उपयोगकर्ता परिभाषित तालिका प्रकार, उप- प्रश्न, सामान्य तालिका अभिव्यक्ति, या टेबल व्युत्पन्न।

T-SQL कोड:

insert into Job_Update_Log(log_id, update_reason, jobid) 
values((select next value for Job_Log_Update_SEQ),'grammer fixing',39); 

यह मेरी मेज है:

create table Job_Update_Log 
(
    log_id int primary key , 
    update_reason nvarchar(100) , 
    update_date date default getdate(), 
    jobid bigint not null, 
    foreign key(jobid) references jobslist(jobid) 
); 

और यह मेरा अनुक्रम है:

CREATE SEQUENCE [dbo].[Job_Log_Update_SEQ] 
AS [int] 
START WITH 1 
INCREMENT BY 1 
NO CACHE 
GO 

उत्तर

6

आपका डालने वाक्य रचना प्रतीत होता है गलत। आप अपनी क्वेरी के VALUES अनुभाग के अंदर SELECT कथन का उपयोग करने का प्रयास कर रहे हैं। आप SELECT का उपयोग करना चाहते हैं तो आप का उपयोग करेगा:

insert into Job_Update_Log(log_id,update_reason,jobid) 
select next value for Job_Log_Update_SEQ,'grammer fixing',39; 

देखें SQL Fiddle with Demo

मैं INSERT INTO VALUES से INSERT INTO ... SELECT को वाक्य विन्यास बदल। मैंने इसका इस्तेमाल किया क्योंकि आप अनुक्रम का अगला मान चुन रहे हैं।

हालांकि, अगर आप INSERT INTO.. VALUES उपयोग करना चाहते हैं, तो आप क्वेरी से SELECT को दूर करना होगा:

insert into Job_Update_Log(log_id,update_reason,jobid) 
values(next value for Job_Log_Update_SEQ,'grammer fixing',39); 

देखें SQL Fiddle with Demo

इन दोनों तालिका में रिकॉर्ड INSERT होगा।

0

इस एक का प्रयास करें: एक मेज -साथ


अनुक्रम आइडिया बनाने बुद्धि शुरू करें एच 1 वृद्धि 3

create table Products_ext 
(
id int, 
Name varchar(50) 
); 

INSERT dbo.Products_ext (Id, Name) 
VALUES (NEXT VALUE FOR dbo.idsequence, ‘ProductItem’); 

select * from Products_ext; 


/* If you run the above statement two types, you will get the following:- 

1 ProductItem 
4 ProductItem 

*/ 

drop table Products_ext; 
drop sequence idsequence; 

------------------------------