접두사 usr으로 자동 증가 번호를 생성 할 수 없습니다. 같은접두어 usr으로 자동 증가. SQL 서버
usr001,
usr002 ...로
도움이 필요
create procedure USP_PatientAdd
@patientID varchar(max),
@patientName varchar(max),
@patientAge varchar(max),
@patientSex varchar(max),
@patientFather varchar(max),
@patientAddr varchar(max),
@patientNumber varchar(max)
as
insert into PTN_DTL(
PTN_DTL_ID,
PTN_DTL_NAME,
PTN_DTL_AGE,
PTN_DTL_SEX,
PTN_DTL_FATHER,
PTN_DTL_ADDR,
PTN_DTL_NU
)
values (
'USR' + RIGHT('000000'+CAST((Select MAX() + 1 as varchar(6)),6),
@patientName,
@patientAge,
@patientSex,
@patientFather,
@patientAddr,
@patientNumber
)
end
왜? 쿼리 타임에 IDENTITY 컬럼을 사용하고 'USR0000x'를 계산하면됩니다. 공간을 낭비하는 것 이외에 테이블 서비스의 모든 단일 행에'USR0000 '을 저장하는 목적은 무엇입니까? –
죄송합니다 .. @Aaron Bertrand .. 무슨 뜻인지 알 수 없습니다. IDENTITY 열이 아닙니다. is't varchar (20) – Nisar
그리고 나는 *** 대신 IDENTITY 컬럼을 사용한다고 말하고 있습니다 ***. 왜 이것이 varchar인가 (20) 나는 잘 모른다. –