여러건의 문장을 insert하려고 합니다.
다음과같이
sql := 'insert into a values('a','b')';
sql := sql + 'insert into a values('c','d')';
Query1.SQL.Add(strsql);
Query1.ExecSQL;
이렇게 하면
ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다
라는 에러메세지가 뜹니다.
문장 끝에 ;<< 를 안넣어서라구여?
델에서 오라클 쓸때 이거 넣으면 안되더군요...한문장 insert도 select도 안됩니다.
그렇다고 한문장 넣고 exec하고 그러자니..영 코딩이 지저분해지더군요...
참고로 oracle sqlplus에서 edit.buf 띄워서 두문장 insert문을 넣어도 버퍼가 실행을 못하더군요 ;문자가 에러문자로 뜨죠...
똑같이 에러가 나요..
화일로 저장하여 호출하면 실행되는데 buff에서는 한문장밖에 실행을 못하나봐요.
아시는 분 있음 도와주세염...
> 여러건의 문장을 insert하려고 합니다.
> 다음과같이
>
> sql := 'insert into a values('a','b')';
> sql := sql + 'insert into a values('c','d')';
>
> Query1.SQL.Add(strsql);
> Query1.ExecSQL;
>
> 이렇게 하면
> ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다
> 라는 에러메세지가 뜹니다.
> 문장 끝에 ;<< 를 안넣어서라구여?
> 델에서 오라클 쓸때 이거 넣으면 안되더군요...한문장 insert도 select도 안됩니다.
> 그렇다고 한문장 넣고 exec하고 그러자니..영 코딩이 지저분해지더군요...
> 참고로 oracle sqlplus에서 edit.buf 띄워서 두문장 insert문을 넣어도 버퍼가 실행을 못하더군요 ;문자가 에러문자로 뜨죠...
> 똑같이 에러가 나요..
> 화일로 저장하여 호출하면 실행되는데 buff에서는 한문장밖에 실행을 못하나봐요.
> 아시는 분 있음 도와주세염...
>
TQuery은 여러줄의 INSERT문도 먹힙니다..간단한 로직두 가능하져..
보니 끝에 쎄미콜론이 빠졌궁여..글구 때에 따라선 한문장씩 INSERT를 쓸수두 있습니다..
그럴경우에는 이 부분을 프로시저루 묶어논다음 해당 프로시저만 호출하믄 되지여..
sql := 'insert into a values('a','b');';
sql := sql + 'insert into a values('c','d');';
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(sql);
Query1.ExecSQL;