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
운영게시판
최근게시물
Sybase Q&A 1448 게시물 읽기
No. 1448
update sql 문 관련입니다.
작성자
찬스
작성일
2006-03-04 05:13
조회수
4,834

안녕하세요. 여기저기 헤매다가 여기까지 왔네요.

이제막 알기 시작하려는 초보인데요, oracle 과 sybase 차이 때문에 생기는 문제 인것 같습니다.

 

예를 들어서 'A' 란 table 에 x,y,z 란 컬럼이 있고 그 컬럼에 'B' 란 테이블에서 select 한 1, 2, 3 컬럼의 값을 update 할때요,

 

**********보통 oracle 의 경우********************************

update A as A_new

set (x, y, z) = (select 1, 2, 3 from B where ...생략... )

where ...생략...

group by ...생략...

**********************************************************

를 하면 되는 걸로 아는데요,

같은 쿼리문을 sysbase 에서 실행하면 syntax error 'set (' 라고 에러가 나더라구요

쿼리문을 조금 생략해서 간단하게 적다보니 이해가 되셨을지 모르겠는데요,

얼핏 oracle 과 sybase 에서는 쿼리문 형태가 틀린것도 있다고 들었던거 같은데요,

 

혹시 sybase 에서 위와 같은 쿼리문을 수행하려 할때 수정할 부분이 어디인지 아시면

가르쳐 주심 감사합니다. ^^

수고하세요...

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

Sybase에는 Join update가 있습니다.

 

update A

set x = b.a1, y=b.a2, z=b.a3

from A, B

where A.a = B.a

and A....

and B....

 

update를 하기 전에 select 문으로 조회해 보는 것도 좋은 습관입니다.

 

select A.x, b.a1, A.y, b.a2, A.z, b.a3

from A, B

where A.a = B.a

and A....

and B....

 

이렇게 join문으로 select하여 수정할 값이 올바른지 확인한 후에 위의 select 문을 update set 절로 수정하면 되겠지요.

존넘님이 2006-03-06 17:12에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1453제곱근. [1]
알려주세요
2006-03-09
4009
1452한글 sortting & Index [1]
한원
2006-03-09
4095
1450jdbc2와 jdbc3의 차이 [1]
밍밍
2006-03-06
4102
1448update sql 문 관련입니다. [1]
찬스
2006-03-04
4834
1447ASIQ, ASE 서버 포트 변경 어떻게 하나요? [1]
초보
2006-02-27
4509
1446insert 문장에 관련된 간단한 질문 [4]
초보
2006-02-23
4148
1445사이베이스에서 numeric를 string 타입으로 변경하는 방법좀 [2]
시그너스
2006-02-21
5175
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다