[sql] 저장 프로 시저에서 새 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을 사용하는 경우 SYS_GUID()기능을 사용할 수 있습니다 . 이 질문에 대한 답을 확인하십시오. Oracle에서 GUID 생성


답변

이 시도:

SELECT NewId()


답변

질문에서 이것에 대해 묻지 않았지만 기본 키에 GUID를 사용하는 것이 항상 좋은 생각은 아니라는 점을 지적 할 가치가 있다고 생각합니다. 간단하지만 인덱스에서 GUID를 사용할 때 성능에 영향을 미칠 수 있습니다. 대신 정수 값인 ID 열 을 사용하는 것을 고려해 보셨습니까 ?

다음은 읽는 데 도움이 될 수있는 몇 가지 기사입니다.


답변

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")


답변