proc에서 sequence생성해서 insert할때 자꾸 에러가 나요.....

sun1226의 이미지

linux에 oracle 8.1.7 환경에서....

DB에서 sequence를 rate_seq로 생성한 상태에서 ....
proc에서 rate_seq를 사용할려구 하는데 자꾸
": ORA-00984: column not allowed here"이런 에러가 나요...

proc 코딩을 보여드리자면...

void insert_rate(){
     ANALYSIS_NODE *r;
    r=NULL;
    for(r=analysis_head->next;r!=analysis_tail;r=r->next)
    {
       EXEC SQL INSERT INTO server_rate (num,ip_address,total_use,packet_input,packet_output,network_buffer,error_input)
        values(rate_seq,:r->host_ip,:r->total_using_rate,
        :r->packet_input_rate,:r->packet_output_rate,
        :r->network_buffer_rate,:r->error_input_rate);
    
    }
    printf("server_rate table insert end\n");
   EXEC SQL COMMIT WORK ;
}


여기에서 sequence생성한것은 선언없이 그냥 rate_seq라고 사용하는게
맞는거죠???

nomadism의 이미지

rate_seq 가 오라클 시퀀스라면 rate_seq.nextval ? 아닌가염?