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 1064 게시물 읽기
No. 1064
의존성있는 사용자정의 data type 속성 변경법?
작성자
굿타임(goodgood)
작성일
2005-01-27 09:35
조회수
4,825

제 질문에 답해 주신 분들께 감사합니다 (__)

 

AAZZ라는 user defined data type 있습니다.

그런데 이 데이터타입의 속성을 원래 numeric으로 해야 하는것을

잘못알고 varchar으로 해버렸습니다.

 

이렇게 하고 쭉 작업을 진행해 왔고

AAZZ에는 dependencies로 많은 프로시져들이 달려있게 되었습니다.

이 상태에서 AAZZ라는 data type의 속성이 잘못된걸 알았고요 --;

 

그 많은 프로시저들을 다시 다 없애고

AAZZ를 삭제후에 다시 생성해서 작업할수가 없는 상황입니다.

 

이 상태에서 AAZZ의 데이터타입의 속성을 varchar -> numeric으로 바꾸는 방법이 없을까요?

 

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

일단은 프로시저 소스를 백업하시구요...

 

AAZZ type을 drop한 후 다시 생성하세요.

sp_droptype AAZZ

go

 

sp_addtype AAZZ, "numeric"

go

 

프로시저를 실행해보세요.

varchar --> numeric으로 변경하는데

실제 data 값이 "1234" 숫자형으로만 쓰였다면

이상없이 수행이 될것입니다.

 

간단히 테스트해봤습니다.

1> sp_addtype AAZZ, "varchar(10)"
2> go
Type added.
(return status = 0)
1> create proc p_test as
2> declare @v AAZZ
3> select @v = '111222'
4> print '%1!', @v
5> go
1> p_test
2> go
111222
(return status = 0)
1> sp_droptype AAZZ
2> go
Type has been dropped.
(return status = 0)
1> sp_addtype AAZZ, "numeric"
2> go
Type added.
(return status = 0)
1> p_test
2> go
111222
(return status = 0)

장형운(좋은구름)님이 2005-01-27 10:42에 작성한 댓글입니다.
이 댓글은 2005-01-27 10:43에 마지막으로 수정되었습니다.

다시 다 없애시고 다시 생성 해야합니다.

 

위에 쓰신 분의 말씀대로 하셔도 되는데..

 

프로시져의 속성상

 

varchar에서 numeric으로 변하면 옵티마이져가 잘못 판단

 

할수 있습니다.

 

 

특히 그부분을 인수로 받는 다면 말이죠...

 

 

원치 않는 결과를 미연에 방지 하시려면 다시 생성하세요

지연님이 2005-01-27 11:58에 작성한 댓글입니다. Edit

그렇지요. 지연님의 말씀이 지당합니다.

경험상 varchar --> numeric으로 바뀌는데

프로시저를 다 뜯어보고 이상유무를 판단해야 겠지요.

table에서는 AAZZ type을 사용하지 않았나요?

그것도 의아하고... 쿄쿄

장형운(좋은구름)님이 2005-01-27 13:24에 작성한 댓글입니다.

아 그럼 어쩔수없이 의존성있는거 다 지우고

싹 다시 해야 겠군요 ㅠ.ㅠ

답변해 주셔서 감사합니다

굿타임(goodgood)님이 2005-01-27 22:42에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1070tsql과 sql을 이용한 데이터베이스 복구방법? [4]
굿타임
2005-01-27
4590
1069아래 질문자 입니다. [1]
일본입니다
2005-01-27
4746
1068(제목란에 질문드려 죄송) 한글이 깨져서 간단히 질문. DDL,DML문이 제대로 안되는데요.인스톨 직후의 디폴트상태에서.asiqdemo [1]
일본입니다.
2005-01-27
4407
1064의존성있는 사용자정의 data type 속성 변경법? [4]
굿타임
2005-01-27
4825
1062서버 인스턴스 두 개 띄우는 법 [3]
허남웅
2005-01-25
4159
1061ASE 12.0 install 에러 입니다...(jre.exe) [2]
윤관
2005-01-24
4644
1058관리자가 정기적으로 해야할일 [1]
김학만
2005-01-24
5062
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다