返回首页

gbase数据、南大通用产品文档:GBase8s插入数据示例

更新日期:2024年09月11日

下列示例展示一个定义 distinct 类型的 SQL 语句:
CREATE DISTINCT TYPE mymoney AS NUMERIC(10, 2);
CREATE TABLE distinct_tab (mymoney_col mymoney);
下列为映射至基础类型的示例:
String s = "insert into distinct_tab (mymoney_col) values (?)";
System.out.println(s);
pstmt = conn.prepareStatement(s);

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 102
-

...
BigDecimal bigDecObj = new BigDecimal(123.45);
pstmt.setBigDecimal(1, bigDecObj);
System.out.println("setBigDecimal...ok");
pstmt.executeUpdate();
当映射至底层的类型时,
GBase 8s JDBC Driver 在客户机侧执行映射,
因为数据库服务器提
供在底层的类型与 distinct 类型之间隐式的强制转型。
还可将 distinct 类型映射至实现 SQLData 接口的 Java™ 对象。下列示例展示一个定义
distinct 类型的 SQL 语句:
CREATE DISTINCT TYPE mymoney AS NUMERIC(10,2)
下列代码将 distinct 类型映射至名为 MyMoney 的 Java 对象:
import java.sql.*;
import com.gbasedbt.jdbc.*;
public class myMoney implements SQLData
{
private String sql_type = "mymoney";
public java.math.BigDecimal value;
public myMoney() { }

public myMoney(java.math.BigDecimal value)

this.value = value;

public String getSQLTypeName()
{
return sql_type;
{

public void readSQL(SQLInput stream, String type) throws
SQLException
{
sql_type = type;
value = stream.readBigDecimal();
{

public void writeSQL(SQLOutput stream) throws SQLException

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 103
-
{
stream.writeBigDecimal(value);
}
// overides Object.equals()
public boolean equals(Object b)

return value.equals(((myMoney)b).value);
}
public String toString()
{
return "value=" + value;
}
}
...
String s - "insert into distinct_tab (mymoney_col) values (?)";
pstmt = conn.prepareStatement(s);
myMoney mymoney = new myMoney();
mymoney.value = new java.math.BigDecimal(123.45);
pstmt.setObject(1, mymoney);
System.out.println("setObject(myMoney)...ok");
pstmt.executeUpdate();
在此情况下,请使用 setObject() 方法,而不是 setBigDecimal() 方法,来插入数据。

dirty_page_percent_max
参数说明:设置用于增量检查点打开后脏页数量占shared_buffers 的百分比。达到这个
设定值时,后台刷页线程将以设置的max_io_capacity 计算出的最大值刷脏页。
该参数属于SIGHUP 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:浮点型,0.1~1
默认值:0.9

语法:

元素
用途
关键注意事项
-d
用于设置服务器数据复制
类型
可在数据库服务器处于静默、
联机或只读方式
时使用 -d standard 选项
dbservername
标识主或辅助服务器的数
据库服务器名
dbservername 参数必须对应于目的主数据库
服务器的 DBSERVERNAME 参数。
它不应对应于
DBSERVERALIASES 参数指定的数据库服务器
之一。
在共享内存重新初始化之后,数据复制对中
的其他数据库服务器的 dbservername 参
数和数据库服务器的类型
(标准、
主或辅助)

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 358 -
元素
用途
关键注意事项
将保留

使用 -d standard 选项
-d standard 选项删除数据复制对中数据库服务器之间的连接(如果存在一个连接)并将当
前数据库服务器的数据库服务器类型设置为标准。此选项不更改对中其他数据库服务器的
方式或类型。
只在从 RS 辅助服务器上断开主服务器的连接时使用 onmode -d standard 命令。
运行该命
令使 HDR 辅助服务器转变成一个独立的服务器。
您不能运行 onmode -d standard 来从 RS
辅助服务器上断开与主服务器的连接。从 RS 辅助服务器上断开主服务器的连接要运行以
下命令:
在主服务器上:
onmode -d delete RSS dbservername
在 RS 辅助服务器上:
onmode -d standard
使用 the -d primary 选项
-d primary 选项将数据库服务器类型设置为主并尝试与 dbservername 指定的数据库服务
器连接。如果连接成功,那么开启数据复制。主数据库服务器变成联机方式,而辅助数据
库服务器变成只读方式。如果连接失败,那么数据库服务器变成联机方式,但不开启数据
复制。
使用 the -d secondary 选项
-d secondary 选项将数据库服务器类型设置为辅助,并尝试与 dbservername 指定的数据库
服务器连接。如果连接成功,那么开启数据复制。主数据库服务器变成联机方式,而辅助
数据库服务器变成只读方式。如果连接失败,那么数据库服务器变成只读方式,但不开启
数据复制。
该命令有等同的 SQL 管理 API 函数。