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..
인터넷을 뒤져도 proc나 esql에 대한 자료가 없어서 가장 기초적인 select 프로그램을 짜봤다. 이것만 마스터 한다면 어떠한 프로씨 프로그램도 코딩 기능하리라 본다. 참조로 c언어는 자바와 달라서 error handling을 안한다. 즉, 자바는 에러, exception이 발생하면 자동으로 exception handling을 하려 에러를 보여주는데 c언어는 그냥 에러가 발생해도 넘어간다. 즉 개발자가 일일히 에러가 발생할 만한곳에 에러 핸들링 코딩을 하지 않으면 자바처럼 에러를 뱉고 끝나는게 아니라 그냥 넘어간다. 자바를 먼저 코딩한 사람들은 이게 이상하다고 생각할 수 있는데 어쩔때는 장점도 될 수 있다. 구지 에러나도 안멈춰도 될만한 곳에는 그냥 넘어가니 좋다. 그러나! 일반적으로 에러코딩을 넣..
- Total
- Today
- Yesterday
- 파싱
- 자바
- C언어
- 파이썬
- XE
- 이클립스
- proc
- 자바 smtp
- 스크래핑
- 프로씨
- XE3
- KG
- webix
- Python
- 오라클
- 인포믹스
- php
- MySQL
- 플러터
- C
- 문자열
- JDBC
- 라이믹스 모듈
- esql
- xe addon
- ocjap
- ocajp
- xe애드온
- 포인터
- EC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |