Oracle-Native - sloupec typu:

SQL_LONGVARCHAR

const sTName    = "TestCLob";

dim db          : Longint;
dim bDBIsOpen   : Byte;

dim xIDENT      : Longint;
dim xDATA1      : StringZ;
dim xDATA2      : StringZ;
dim xCOLS       : StringZ;

const sCompDATA1 : StringZ = 
    "123456789,123456789,123456789,123456789,123456789,123456789,123456789,123456789,123456789,123456789," + 
    "123456789,123456789,123456789,123456789,123456789,123456789,123456789,123456789,123456789,123456789," +
    "123456789,123456789,123456789,123456789,123456789,123456789,123456789,123456789,123456789,123456789,";
const sCompDATA2 : StringZ = 
    "abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghij" +
    "abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghij" +
    "abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghijklmn.abcdefghij";
const sCompCOLS : StringZ = "Test";

bDBIsOpen := false;

call ClearMembers;

call SmazTestovaciTabulku;
call ZalozTestovaciTabulku;
call AddRow(1);
call SmazTestovaciTabulku;
call CloseDB;

Exit

procedure AddRow(	nIdent : Longint)
    dim set  : Longint;

    call OpenDB;
    call DeleteAllRows;
    SQLOpen(db, set);
    call Bind(set);
    SQLSelect(set, sTName, "IDENT=-1", "IDENT");
    if(_SQLAddNew(set))then
        xIDENT	:= nIdent;
        xDATA1	:= sCompDATA1;
        xDATA2	:= sCompDATA2;
        xCOLS	:= sCompCOLS;
        if(_SQLUpdate(set)=false)then
            _MsgBox(1,"Chyba v _SQLUpdate !!", 0);
        endif
        if( _GetSystem(SYS_DBTYP_AKT) = DBTYPE_ORACLE8_NATIVE or 
            _GetSystem(SYS_DBTYP_AKT) = DBTYPE_ORACLE8_NATIVE_PROC)then
            
            SQLSelect(set, sTName, "IDENT="+_Str(nIdent), "IDENT");
            if(_SQLEdit(set))then
                xDATA1	:= sCompDATA1;
                xDATA2	:= sCompDATA2;
                if(_SQLUpdate(set)=false)then
                    _MsgBox(1,"Chyba v _SQLUpdate !!", 0);
                endif
            else
                _MsgBox(1,"Chyba v _SQLEdit !!", 0);
            endif
        endif
    else
        _MsgBox(1,"Chyba v _SQLAddNew !!", 0);
    endif
    SQLClose(set);
endproc { AddRow }

procedure OpenDB
    { Otevře spojení s db }
    if(bDBIsOpen=false)then
        SQLDBOpen(db, #0, #2, #0);	
        bDBIsOpen := true;
    endif
endproc { OpenDB }

procedure CloseDB
    { Zavře spojení s db }
    if(bDBIsOpen)then
        SQLDBClose(db);	
        bDBIsOpen := false;
    endif
endproc { CloseDB }

procedure DeleteAllRows
    { Smaže všechny řádky v tabulce }
    call OpenDB;
    SQLExecute(db, "delete from " + sTName);
endproc { DeleteAllRows }

procedure ClearMembers
    xIDENT  := 0;
    xDATA1  := "";
    xDATA2  := "";
    xCOLS   := "";
endproc { ClearMembers }

procedure Bind(dim set : Longint)
    SQLBind(set, "IDENT",   SQL_INTEGER,        xIDENT);
    SQLBind(set, "XDATA1",  SQL_LONGVARCHAR,-1, xDATA1);
    SQLBind(set, "XDATA2",  SQL_LONGVARCHAR,-1, xDATA2);
    SQLBind(set, "XCOLS",   SQL_VARCHAR,        xCOLS);
endproc { Bind }

procedure ZalozTestovaciTabulku
    call OpenDB;
    SQLExecute(db,  "CREATE TABLE " + sTName +
                    "(IDENT " 	+ _SQLGetColTypeName(DB, SQL_INTEGER)		+ " NOT NULL," + 
                    " XDATA1 " 	+ _SQLGetColTypeName(DB, SQL_LONGVARCHAR)	+ ", " +
                    " XDATA2 " 	+ _SQLGetColTypeName(DB, SQL_LONGVARCHAR)	+ ", " +
                    " XCOLS " 	+ _SQLGetColTypeName(DB, SQL_VARCHAR) 		+ "(50))"); 
    SQLExecute(db, "CREATE UNIQUE INDEX " + sTName + "_IDENT ON " + sTName + " (IDENT)");
endproc { ZalozTestovaciTabulku }

procedure SmazTestovaciTabulku
    call OpenDB;
    if(_SQLTableExist(db,sTName))then
        SQLExecute(DB, "DROP TABLE " + sTName);
    endif
endproc { SmazTestovaciTabulku }