使用 DISTINCT 数据类型

原文: https://docs.oracle.com/javase/tutorial/jdbc/basics/distinct.html

:MySQL 和 Java DB 目前不支持DISTINCT SQL 数据类型。因此,没有 JDBC 教程示例可用于演示本节中描述的功能。

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

为了说明,创建DISTINCT数据类型,然后查看如何检索,设置或更新它。假设您始终对状态使用双字母缩写,并且想要创建用于这些缩写的DISTINCT数据类型。您可以使用以下 SQL 语句定义新的DISTINCT数据类型:

  1. CREATE TYPE STATE AS CHAR(2);

某些数据库使用备用语法创建DISTINCT数据类型,如以下代码行所示:

  1. CREATE DISTINCT TYPE STATE AS CHAR(2);

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

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

  1. String state = rs.getString(4);

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