자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Interbase InterBaseXE3 사용중인데 SELECT UNION 구문에서 NEWID()? 로 디비테이블에 없는 고유값 컬럼을 추가하고 싶은데 어떻게 하는지 궁금합니다
2016.11.21 17:59
InterBaseXE3 사용중인데
SELECT 구문에서 NEWID()? 로 디비테이블에 없는 고유값 컬럼을 추가하고 싶은데 어떻게 하는지 궁금합니다
그냥 NEWID()로 하니까 Function Unknown 이라고 오류입니다......
테이블 두개를 조회하는데 고유값이 중복되어서 SELECT결과에 수동으로 고유값 컬럼을 추가하여 가저오고 싶습니다~
감사합니다~
Interbase InterBaseXE3 사용중인데 SELECT UNION 구문에서 NEWID()? 로 디비테이블에 없는 고유값 컬럼을 추가하고 싶은데 어떻게 하는지 궁금합니다
2016.11.21 17:59
InterBaseXE3 사용중인데
SELECT 구문에서 NEWID()? 로 디비테이블에 없는 고유값 컬럼을 추가하고 싶은데 어떻게 하는지 궁금합니다
그냥 NEWID()로 하니까 Function Unknown 이라고 오류입니다......
테이블 두개를 조회하는데 고유값이 중복되어서 SELECT결과에 수동으로 고유값 컬럼을 추가하여 가저오고 싶습니다~
감사합니다~
두 개 테이블을 조인하는 상황인가요 정확한 의도를 몰라 애매하긴한데요.
일단 newid() 함수는 MSSQL에서 지원되는 함수인것 같네요. 랜덤한 GUID 값을 생성하는 함수고 맥어드레스, 시간 등을 조합해서 만들기 때문에 거의 중복이 없다고는 하는데 엄밀히 따지면 중복 될 가능성도 있는 함수로 보입니다.
암튼, 인터베이스는 newid 함수가 없고 비슷한 함수도 없는것 같은데 차라리 rowid를 이용하시는 것은 어떨까요?
인터베이스에서는 RDB$DB_KEY 가 그 역할을 한다고 합니다.
예 : Select a.*, RDB$DB_KEY from tbl a;
그리고 rdb$db_key 값은 '00800001' 이런 식으로 나온다네요.
https://community.embarcadero.com/blogs/entry/the-power-of-rdb-db-key