database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Q&A 1044 게시물 읽기
No. 1044
Q.클래스를 도메인으로 가지는 속성에 대하여..
작성자
joobile
작성일
2008-04-11 22:48
조회수
8,179

며칠전에 질문했던거와 연계되는것인데..

===============

A

(

        id int,

        data B

)

B

(

        a int,

        b string

)

================

이런 구조에서

 

1. insert into A (id) values (1); // data 속성엔 NULL 이 가능하더군요

2. A 는 하나의 인스턴스, B에는 인스턴스가 없는 상태에서

A의 그 인스턴스에 data 속성을 update 하려고 합니다. 즉 B에 자료를 집어넣는거지요..

 

update A set data = (insert into B values (10, \'this is string\')) where id = 1;

 

논리적으로 이런 문장을 원하는데

게시판 검색해보니 불가능한것 같더군요.

 

================

1. insert into B

2. 1번에 입력한 인스턴스의 oid 를 획득

3. 획득한 oid 를 A 의 data 속성에 update

 

이런 과정을 거쳐야 하나요?  만약 맞다면

oid 를 얻기 위해 select 가 한번더 들어가는것 같은데 관계형 설계와 비교해 성능은 어떤지 궁금합니다.

이 글에 대한 댓글이 총 1건 있습니다.

안녕하세요.

update 의 경우 중첩된 insert 문은 지원하지 않고 있읍니다. 따라서 말씀하신 과정을 거쳐야 하는 것이 맞습니다. 다만 3단계를 거칠 필요없이 insert 후 update .. set .. = (select ) 형식으로 2단계로 줄일수 있을 것입니다. 이는 RDBMS 를 쓰시더라도 같을 것입니다.

추가적으로 CUBRID 에서는 insert 시 입력된 레코드의 OID 를 넘겨주므로 이를 넘겨받아 update 문에서 사용할 수 있읍니다. 즉 insert 후 update ... set .. = OID 와 같이 하여 select 한번을 줄일수 있읍니다. 이와 같이 insert 후 OID 를 넘겨받는 방법은 JDBC, ESQLX, C-API 등에서 가능하며 JDBC 를 사용하는 예제는 기술문서의 JDBC 부분에 JAVA개발자특성화교육 을 참고하시면 됩니다.

 

>며칠전에 질문했던거와 연계되는것인데..

>===============

>A

>(

>        id int,

>        data B

>)

>B

>(

>        a int,

>        b string

>)

>================

>이런 구조에서

>

>1. insert into A (id) values (1); // data 속성엔 NULL 이 가능하더군요

>2. A 는 하나의 인스턴스, B에는 인스턴스가 없는 상태에서

>A의 그 인스턴스에 data 속성을 update 하려고 합니다. 즉 B에 자료를 집어넣는거지요..

>

>update A set data = (insert into B values (10, \'this is string\')) where id = 1;

>

>논리적으로 이런 문장을 원하는데

>게시판 검색해보니 불가능한것 같더군요.

>

>================

>1. insert into B

>2. 1번에 입력한 인스턴스의 oid 를 획득

>3. 획득한 oid 를 A 의 data 속성에 update

>

>이런 과정을 거쳐야 하나요?  

>만약 맞다면

>oid 를 얻기 위해 select 가 한번더 들어가는것 같은데 관계형 설계와 비교해 성능은 어떤지 궁금합니다.

 

남재우님이 2008-04-12 13:53에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1048Q.Cubrid 사용 사례 [1]
김선우
2008-04-16
8201
1046Q.초간단 ASP예제 [1]
이강
2008-04-13
8770
1045Q.ODBC 오류 invalid request handle [1]
대구물
2008-04-12
8563
1044Q.클래스를 도메인으로 가지는 속성에 대하여.. [1]
joobile
2008-04-11
8179
1043table primary key의 생성,삭제 [2]
해달
2008-04-10
8201
1042Q.데이터베이스 서버 구동 오류 관련 질문 [1]
김소영
2008-04-10
8238
1041Q.이클립스 plug-in SQLexplorer... [1]
강신철
2008-04-09
7892
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다