文档

Java™教程
隐藏目录
使用DISTINCT数据类型
教程: JDBC数据库访问
课程: JDBC基础知识

使用DISTINCT数据类型

注意:MySQL和Java DB当前不支持DISTINCT SQL数据类型。因此,在本节中没有可用的JDBC教程示例来演示这些功能。

DISTINCT数据类型的行为与其他高级SQL数据类型不同。它是一种基于已有内置类型的用户定义类型,在Java编程语言中没有接口映射。相反,DISTINCT数据类型的标准映射是其底层SQL数据类型映射的Java类型。

为了说明这一点,我们先创建一个DISTINCT数据类型,然后看如何检索、设置或更新它。假设您总是使用两个字母的缩写表示州,并希望创建一个DISTINCT数据类型用于这些缩写。您可以使用以下SQL语句定义您的新DISTINCT数据类型:

CREATE TYPE STATE AS CHAR(2);

一些数据库使用另一种创建DISTINCT数据类型的语法,如下所示:

CREATE DISTINCT TYPE STATE AS CHAR(2);

如果一种语法不起作用,您可以尝试另一种语法。或者,您可以查看驱动程序的文档,了解它所期望的确切语法。

这些语句将创建一个名为STATE的新数据类型,它可以用作列值或SQL结构类型的属性值。由于STATE类型的值实际上是两个CHAR类型的值,您可以使用与检索CHAR值相同的方法来检索它,即使用getString方法。例如,假设ResultSet rs的第四列存储STATE类型的值,则以下代码行检索其值:

String state = rs.getString(4);

类似地,您可以使用setString方法将STATE值存储到数据库中,并使用updateString方法修改其值。


上一页: 使用数组对象
下一页: 使用结构化对象