DDL과 PSM, 데이터베이스의 이름, 대용량 객체형을 사용하여 tbESQL/C 프로그램의 예제를 설명합니다.
DDL과 PSM
다음은 DDL과 PSM을 사용하여 tbESQL/C 프로그램을 작성한 예입니다.
void Test_call1(void)
{
char *conn_str = "tibero/tmax";
int num;
int fact;
EXEC SQL CONNECT :conn_str;
EXEC SQL CREATE OR REPLACE FUNCTION fact(n IN INTEGER) RETURN INTEGER IS
BEGIN
IF (n <= 0) then return 1;
ELSE return n * fact(n - 1);
END IF;
END fact;
END-EXEC;
num = 5;
EXEC SQL CALL fact(:num) INTO :fact;
EXEC SQL COMMIT WORK RELEASE;
}
void Test_call2(void)
{
char *conn_str = "tibero/tmax";
char x[10];
int y;
EXEC SQL CONNECT :conn_str;
EXEC SQL DROP TABLE T1;
EXEC SQL CREATE TABLE T1(x VARCHAR(10));
EXEC SQL CREATE OR REPLACE PROCEDURE test_proc(x IN VARCHAR, y IN OUT NUMBER) IS
BEGIN
INSERT INTO T1 VALUES(x);
y := 2;
END;
END-EXEC;
memset(x, 0, sizeof(x));
strcpy(x, "TIBERO");
EXEC SQL CALL test_proc(:x, :y);
memset(x, 0, sizeof(x));
EXEC SQL SELECT x INTO :x FROM T1; /* x값은 "TIBERO "가 됩니다 */
EXEC SQL COMMIT WORK RELEASE;
}
데이터베이스의 이름
다음은 데이터베이스의 이름을 사용하여 tbESQL/C 프로그램을 작성한 예입니다.
대용량 객체형
다음은 대용량 객체형을 사용하여 tbESQL/C 프로그램을 작성한 예입니다.
ClobLocator, BlobLocator의 사용을 위해서는 esql_lob.h 헤더 파일을 명시해야 합니다.