CLOB字段写操作例程$query = "INSERT INTO TableName (CLOB_Field)
VALUES (EMPTY_CLOB())
RETURNING CLOB_Field INTO :CLOB_Value
";
$clob = OCINewDescriptor($conn, OCI_D_LOB);
$stmt = OCIParse($conn, $query); // 解析SQL语句
if (false == $stmt) { // 判断SQL语句是否正确
OCIRollback($conn); // 事务回滚
exit(OCIError($stmt)); // 返回操作失败
}
OCIBindByName($stmt, ":CLOB_Value", &$clob, -1, OCI_B_CLOB);
$exec = OCIExecute($stmt, OCI_DEFAULT);
if (false == $exec) { // 执行操作
OCIFreeStatement($stmt); // 操作失败后要释放资源
OCIRollback($conn); // 操作失败后要进行事务回滚
exit; // 返回操作失败
}
$clob->save($BBSContent);
$clob->free(); OCIFreeStatement($stmt); // 释放资源
// 在最后一个SQL操作执行成功后提交事务
if (false == OCICommit($conn) ) { // 事务提交
OCIRollback($conn); // 事务提交失败后要进行事务回滚
}
VALUES (EMPTY_CLOB())
RETURNING CLOB_Field INTO :CLOB_Value
";
$clob = OCINewDescriptor($conn, OCI_D_LOB);
$stmt = OCIParse($conn, $query); // 解析SQL语句
if (false == $stmt) { // 判断SQL语句是否正确
OCIRollback($conn); // 事务回滚
exit(OCIError($stmt)); // 返回操作失败
}
OCIBindByName($stmt, ":CLOB_Value", &$clob, -1, OCI_B_CLOB);
$exec = OCIExecute($stmt, OCI_DEFAULT);
if (false == $exec) { // 执行操作
OCIFreeStatement($stmt); // 操作失败后要释放资源
OCIRollback($conn); // 操作失败后要进行事务回滚
exit; // 返回操作失败
}
$clob->save($BBSContent);
$clob->free(); OCIFreeStatement($stmt); // 释放资源
// 在最后一个SQL操作执行成功后提交事务
if (false == OCICommit($conn) ) { // 事务提交
OCIRollback($conn); // 事务提交失败后要进行事务回滚
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货