2017-02-15 1 views
0

을 사용하여 다른 열에 결과를 입력하십시오. 누구든지 아래의 SQL 문을 삽입하는 데 도움이 될 수 있습니다. 컬럼 ID (데이터베이스에 의해 자동 생성)와 MBID 컬럼을 결합하여 SampleID를 생성하려고합니다. 'CONCAT'오류는 인식 된 내장 함수 이름이 아닙니다. 감사두 개의 열을 결합하고 SQL 서버

SqlCommand sc = new SqlCommand(@"insert into Sample (MBID, SampleType,SampleDate,ConsultantName,Comments,FirstSample, SampleID) 
values(@MBID , @SampleType , @SampleDate , @ConsultantName , @Comments, CONCAT(ID +'-'+ MBID) ;", con); 


Table Design 

CREATE TABLE [dbo].[Sample] (
[ID]    INT   IDENTITY (5, 1) NOT NULL, 
[SampleID]  NVARCHAR (50) NOT NULL, 
[SampleType]  NVARCHAR (50) NULL, 
[SampleDate]  DATE   NULL, 
[ConsultantName] NVARCHAR (50) NULL, 
[Comments]  NVARCHAR (MAX) NULL, 
[FirstSample] NVARCHAR (MAX) NULL, 
[MBID]   INT   NULL, 
CONSTRAINT [PK_Sample] PRIMARY KEY CLUSTERED ([SampleID] ASC) 
); 

답변

0

, CONCAT는 CONCAT 함수를 사용하여 SQL 서버 2012

년에 도입되었다 자동 샘플 Id 열의 id 값에 연결될 생성 된 값입니다. 아래 쿼리는 사용할 수 있습니다 ...

SELECT IDENT_CURRENT('table_name')+1; 

지금,

SqlCommand sc = new SqlCommand(@"insert into Sample (MBID, SampleType,SampleDate,ConsultantName,Comments,FirstSample, SampleID) 
values(@MBID , @SampleType , @SampleDate , @ConsultantName , @Comments, cast((IDENT_CURRENT('Sample')+1) as VARCHAR(max)) +'-'+ CAST(@MBID AS VARCHAR(10)));", con); 
+0

감사합니다. Sql server 2008을 사용 중입니다. –

0

문자열을 연결하기를 무시하기 때문에 당신이 널 (null)을 방지하기 위해 ISNULL을 사용해야 할 수도 있습니다, SQLServer에에서 2012..use + 대신 remeber 또한

볼 수 있습니다 SQL-server에서 CONCAT 함수 또는 + 함수를 사용할 수 있습니다. 당신은 둘 다하려고 노력하고 있습니다.

CONCAT 함수에는 쉼표로 구분 된 인수가 2 개 이상 필요합니다.

SELECT CONCAT ('Welcome ', 'World ', '!') AS Result; 

이 두 번째로, 당신이 원하는 :

그래서 어느

ID +'-'+ MBID 

또는

첫째
CONCAT(ID, '-', MBID) 
+0

감사 Tobb 다음과 같이 쿼리를 변경합니다. 이 샘플을 (MBID, SampleType, SampleDate, ConsultantName, Comments, FirstSample, SampleID) 값 ('2088', 'PB', '2000-09-29', 'CSC', '저장 프로 시저에 대한 lpd ref ','YES ', ID +'- '+ MBID); 잘못된 열 이름 'ID'오류가 발생했습니다. 및 MBID SQL 서버 2008을 사용하고 있습니다 –

+0

'@'또는 다른 것이 누락되었을 수 있습니까? 당신은 어딘가에'@MBID'를 가지고 있습니다. 어디서나'@ID'를 정의했는지 모르겠습니다. – Tobb

+0

ID는 데이터베이스에 의해 자동으로 생성됩니다. INT IDENTITY (5, 1) NOT NULL –

관련 문제