main(int argc, char *argv[]){ $char work1[100]; $char lname[100]; memset(work1,0x00,sizeof(work1)); memset(lname,0x00,sizeof(lname)); EXEC SQL conncet to "dbname"; EXEC SQL PREPARE _id FROM "select b from test where a=?"; strcpy(lname,"a"); EXEC SQL DECLARE test_cur SCROLL CURSOR FOR p_id; EXEC SQL OPEN test_cur using :lname; while(1){ EXEC SQL FETCH NEXT test_cur INTO :work1; if(sqlca.sqlcode==..
PREPARE를 사용하는 이유 PREPARE 시점에 SQL문장에 대하여 미리 parsing되고 query plan이 생성된다. EXECUTE 시점에는 처리해야 할 값만 넘겨주면 즉시 실행된다 하나의 DML문장에서 여러번 값을 바꿔서 넘겨주어야 할 때 PREPARE에서 한 번만 query plan을 생성하므로 유용하게 사용할 수 있다. 바로 소스를 보자 main(int argc, char *argv[]){ $char lname[100]; $char lname2[100]; EXEC SQL connect to "dbname"; EXEC SQL PREPARE ins_p FROM "insert into test (a,b) values(?,?)"; strcpy(lname,"aa"); strcpy(lname2,"bb..
앞서 select 결과 1건 가져오는것과 비슷하지만 select 결과가 여러건 이면 cursor와 fetch next를 이용해서 처리했다. ESQL/C 프로그램을 할때는 해당 구문에 EXEC SQL 을 써서 구분해준다. 대학시절 공부할때 프로그래머들은 귀찮고 긴것을 싫어한다고 배웠다. 그래서 인지 EXEC SQL 대신 $만 써도 ESQL/C 구문인지 나타낼 수 있다. PHP도 $를 쓰는데..^^ 앞의 소스를 $를 사용해 줄여보면 아래와 같다. main(int argc, char *argv[]){ $char work1[100]; memset(work1,0x00,sizeof(work1)); $connect to "dbname"; $DECLARE test_cur SCROLL CURSOR FOR SELECT a..
- Total
- Today
- Yesterday
- Python
- 파이썬
- EC
- XE
- 라이믹스 모듈
- C
- XE3
- proc
- 인포믹스
- KG
- 스크래핑
- ocjap
- C언어
- 이클립스
- 포인터
- php
- xe addon
- MySQL
- JDBC
- 플러터
- 파싱
- 오라클
- 자바 smtp
- webix
- 자바
- esql
- 프로씨
- xe애드온
- 문자열
- ocajp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |