identity 라는 속성이 있다고 들어서 해봤는데 안되더라구요..
ASE 에서 되는건가요? IQ에서 sequence가 없다면 sequence 와 같은 기능을 하는것은 없나요? table에 insert 할 때 1씩 증가시켜서 넣으려고 하는데요.. mysql의 auto_increment 같은것이 있다면 딱 좋은데.. 못찾겠네요.. 아. 그리고, IQ에서 table 생성시에 default 값을 지정하지 못하나요? 에러가 나더라구요..
identity 나 default 속성은 없습니다.
identity 와 비슷한 기능으로 rowid() 혹은 number(*) function 이 있습니다.
rowid() 의 경우 table 별로 고유값을 가지며, delete 가 발생시 option 에 따라 rowid() 를 체우고 다시 들어 가는 경우와 최종 rowid() 뒷쪽으로 계속 생성되는 두가지의 경우가 있습니다.
IQ 특성상 bulk loading 을 하고 batch 에서 처리시에도, 대량 data 를 처리하므로, 중간에 seq column 과 같은 기능을 사용하시려면,
insert into tbl ( seq , aa )
select number(*) , col1
from tbl a
형태로 하시면 되고요.. 기존 data 가 들어 있다면, 변수를 선언하여, max 값을 읽어서 더하시는 형태로 구현하시면 될거 같네요..
coolrock님의 말씀이 12.5까지는 정확합니다. 하나 12.6부터는 IQ에서도 identity/auto increment라는 컬럼의 속성이 지원됩니다. 자세한 내용은 sybase.com의 IQ 12.6 메뉴얼을 참조하시면...
그리고 default는 12.6에서도 지원이 아직 안되고 있더군요