数据定义语言(DDL)语句在 DBMS 中差异很大。 ODBC SQL 为最常见的数据定义作定义语句:创建和删除表、索引和视图;更改表;并授予和撤销权限。 所有其他 DDL 语句都是特定于数据源的。 因此,可互作的应用程序无法执行某些数据定义作。 通常情况下,这不是一个问题,因为此类操作往往具有很强的 DBMS 针对性,最好交给大多数 DBMS 附带的专用数据库管理软件或随驱动程序一起提供的安装程序处理。
数据定义的另一个问题是,数据类型名称在 DBMS 之间差异很大。 SQLGetTypeInfo 为应用程序提供了一种发现特定于 DBMS 的数据类型名称的方法,而不是定义标准数据类型名称并强制驱动程序将它们转换为特定于 DBMS 的名称。 可互作的应用程序应在 SQL 语句中使用这些名称来创建和更改表; 附录 C:SQL 语法和 附录 D: 数据类型中列出的名称只是示例。