C언어
[ec/proc/esql/프로씨 강좌] 호스트변수를 사용해서 where에서 사용하는 방법
xemaker
2017. 2. 20. 09:46
main(int argc, char *argv[]){
$char work1[100];
$char work2[100];
memset(work1,0x00,sizeof(work1));
memset(work2,0x00,sizeof(work2));
memcpy(work2,"a2",sizeof(work2));
EXEC SQL connect to "dbname";
EXEC SQL DECLARE test_cur SCROLL CURSOR FOR
SELECT a
FROM test
WHERE a=:work2
;
EXEC SQL OPEN test_cur;
while(1){
EXEC SQL FETCH NEXT test_cur INTO :work1;
if(sqlca.sqlcode==100){
break;
}else if(sqlca.sqlcode!=0)
printf("error=[%d]\n",sqlca.sqlcode);
}
printf("work1=[%s]\n",work1;
}
EXEC SQL CLOSE test_cur;
EXEC SQL FREE test_cur;
}
이렇게 where 절을 쓰려면
WHERE a=:work2
이런식으로 호스트변수를 쓰면 된다.
$char work1[100];
$char work2[100];
memset(work1,0x00,sizeof(work1));
memset(work2,0x00,sizeof(work2));
memcpy(work2,"a2",sizeof(work2));
EXEC SQL connect to "dbname";
EXEC SQL DECLARE test_cur SCROLL CURSOR FOR
SELECT a
FROM test
WHERE a=:work2
;
EXEC SQL OPEN test_cur;
while(1){
EXEC SQL FETCH NEXT test_cur INTO :work1;
if(sqlca.sqlcode==100){
break;
}else if(sqlca.sqlcode!=0)
printf("error=[%d]\n",sqlca.sqlcode);
}
printf("work1=[%s]\n",work1;
}
EXEC SQL CLOSE test_cur;
EXEC SQL FREE test_cur;
}
이렇게 where 절을 쓰려면
WHERE a=:work2
이런식으로 호스트변수를 쓰면 된다.