Appendix A. tbESQL/C 프로그램 예제

DDL과 PSM, 데이터베이스의 이름, 대용량 객체형을 사용하여 tbESQL/C 프로그램의 예제를 설명합니다.

DDLPSM

다음은 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 헤더 파일을 명시해야 합니다.

Last updated