返回首页

gbase数据、南大通用产品文档:GBase8sGCILobCopy

更新日期:2024年09月11日



sword GCILobCopy2 (
GCISvcCtx *svchp,
GCIError *errhp,
GCILobLocator *dst_locp,
GCILobLocator *src_locp,
ub4 amount,
ub4 dst_offset,
ub4 src_offset

);

将大对象值的全部或部分复制到另一个大对象值中,数据将从源复制到目标。源
(src_locp)和目标(dst_locp)大对象必须存在。暂不支持大于4G的LOB对象。
如果数据存在于目标的起始位置,则源数据将覆盖该数据。如果目标的起始位置超
出当前数据的末尾,则零字节填充符(对于BLOB)或空格(对于CLOB)将从当前数据的末
尾写入源中新写入的数据的开头。如果目标大对象超出目标大对象的当前长度,则会扩
展目标大对象以容纳新写入的数据。将目标大对象扩展到允许的最大长度(即 4 TB)之
外或尝试从 NULL 大对象复制是错误的。
源和目标大对象定位器必须属于同一类型(即,它们必须是 BLOB 或都是 CLOB)


参数
输入
/输出


svchp
输入
上下文句柄的指针
errhp
输入/输出 错误信息句柄,该接口调用失败时,错误信息会存在该句柄上
dst_locp

输入/输出 唯一引用目标大对象的内部大对象定位器。此定位器必须是从
svchp 指定的服务器获取的定位器。
src_locp

输入
唯一引用源大对象的内部大对象定位器。此定位器必须是从 svchp 指
定的服务器获取的定位器。
amount
输入
要从源大对象复制到目标大对象的 CLOB 的字符数或 BLOB 的字节数。
dst_offset 输入
这是目标大对象的绝对偏移量。对于 CLOB,它是从 CLOB 开头开始写入
的字符数。对于 BLOB,它是从 BLOB 开头开始写入的字节数,偏移量从
1 开始。
src_offset 输入
这是源大对象的绝对偏移量。对于 BLOB,它是来自 BLOB 的字符数。对
于BLOB,它是字节数,从 1 开始。

如果执行成功,返回GCI_SUCCESS,否则返回GCI_ERROR。



GBase 8s GCI 接口使用指南

南大通用数据技术股份有限公司 67

GBA-02DU-0001
错误码
错误标识
错误信息
GBA-02DU-000
1
ER_GCLUSTER_TA
BLE(全表删除时)
There is no table '%s.%s'
错误出现原因
无法从系统表gbase.table_distribution 中找到表'%s.%s'的信息
分析与建议
1.
请检查该表是否为express 引擎表;
2.
请检查gbase.table_distribution 表中是否记录该表信息,信息是否正确;若
无,向gbase.table_distribution 表中插入该表信息;

CREATE TABLE...LIKE...
功能说明
复制table_name2 的表结构来创建表table_name1。
语法格式
CREATE TABLE [vc_name.][db_name.]table_name1 LIKE table_name2;
示例
示例1:创建随机分布表。
gbase> DROP TABLE IF EXISTS t5;
Query OK, 0 rows affected

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
957
gbase> CREATE TABLE t5(a int,b datetime);
Query OK, 0 rows affected
gbase> INSERT INTO t5 VALUES(1,NOW());
Query OK, 1 row affected
gbase> CREATE TABLE t6 LIKE t5;
Query OK, 0 rows affected
gbase> SHOW CREATE TABLE t6;
+-------+---------------------------------------------------------+
| Table | Create Table
|
+-------+---------------------------------------------------------+
| t6
| CREATE TABLE "t6" (
"a" int(11) DEFAULT NULL,
"b" datetime DEFAULT NULL
)
ENGINE=EXPRESS
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace' |
+-------+---------------------------------------------------------+
1 row in set
gbase> SELECT * FROM t6;
Empty set