programing

저장 프로시저에서 새 GUID를 생성하는 방법

closeapi 2023. 4. 21. 20:52
반응형

저장 프로시저에서 새 GUID를 생성하는 방법

현재 테이블에 새 행을 삽입하는 저장 프로시저가 있습니다.

insert into cars
(id, Make, Model)
values('A new Guid', "Ford", "Mustang")

따라서 기본 키 'id'는 GUID입니다.C# 코드에서 새로운 GUID를 작성하는 방법은 알고 있지만 저장 프로시저에서는 프라이머리 키 값에 대한 새로운 GUID를 생성하는 방법을 알 수 없습니다.

SQL Server에서는 NEWID 함수를 사용할 수 있습니다.당신은 C#을 사용하고 있기 때문에 SQL Server를 사용하고 있다고 생각합니다.다른 데이터베이스 시스템도 비슷한 기능을 가지고 있을 거예요.

select NEWID()

Oracle을 사용하는 경우 이 기능을 사용할 수 있습니다.다음 질문에 대한 답변을 확인하십시오.Oracle에서 GUID 생성

이것을 시험해 보세요.

SELECT NewId()

질문에서는 질문하지 않았습니다만, 프라이머리 키에 GUID를 사용하는 것이 항상 좋은 것은 아니라고 생각합니다.간단하지만 인덱스에서 GUID를 사용하면 성능에 영향을 줄 수 있습니다.대신 정수 값인 Identity 열을 사용하는 것을 고려해 본 적이 있습니까?

여기 읽기에 도움이 될 만한 기사 몇 개가 있다.

MySQL에서는 UUID()이므로 쿼리는 다음과 같습니다.

insert into cars
(id, Make, Model)
values(UUID(), "Ford", "Mustang")

UUID를 재사용하는 경우는, 다음과 같이 실행할 수 있습니다.

set @id=UUID();
insert into cars
(id, Make, Model)
values(@id, "Ford", "Mustang");
select @id;

질문 형식(수업자를 찾아보세요!)

insert into cars
  (id, Make, Model)
  values(NEWID(), "Ford", "Mustang")

언급URL : https://stackoverflow.com/questions/3938113/how-to-generate-a-new-guid-in-stored-procedure

반응형