授予和撤销 Execute 权限 例程有下列 GRANT 和 REVOKE 要求: DBA 可将 Execute 权限授予数据库中的任何例程,也可撤销它。 例程的创建者可授予或取消对那个特定的例程的 Execute 权限。通过包括带有 GRANT EXECUTE ON 语句的 AS grantor 子句,创建者丧失授予或撤销的能力。 如果所有者在 GRANT EXECUTE ON 语句中应用了 WITH GRANT 关键字, 则另 一用户可授予 Execute 权限。 对于下列条件,DBA 或例程所有者必须显式地将 Execute 权限授予非 DBA 用户: 以 DBA 关键字子句注册了的例程 在符合 ANSI 的数据库中的例程 不符合 ANSI 的数据库中的例程,但将 NODEFDAC 环境变量设置为 yes。
GBase 8s SQL 指南:教程 南大通用数据技术股份有限公司 - 325 - 即使数据库服务器缺省地将权限授予 public,所有者也可限制对例程的 Execute 权限。为 此,请发出 REVOKE EXECUTE ON PUBLIC 语句。DBA 和所有者仍可执行该例程,且 如果使用的话,则可将 Execute 权限授予特定的用户。 使用 COMMUTATOR 和 NEGATOR 函数的 Execute 权限 重要: 如果您显式地授予对 SPL 函数的 Execute 权限,其为 UDR 的换向函数或否定函数, 则在被授予者可使用任意函数之前,您还必须授予对换向函数或否定函数的那种权限。您不可 随同 SPL 过程指定 COMMUTATOR 或 NEGATOR 修饰符。 下列示例演示对于函数的限制授权,以及将它的否定函数限定为一组用户。假设您创建下 列否定函数对: CREATE FUNCTION greater(y PERCENT, z PERCENT) RETURNS BOOLEAN NEGATOR= less(y PERCENT, z PERCENT); . . . CREATE FUNCTION less(y PERCENT, z PERCENT) RETURNS BOOLEAN NEGATOR= greater(y PERCENT, z PERCENT); 在缺省情况下,任何用户都可执行该函数和否定函数。下列函数仅允许 accounting 执行这 些函数: REVOKE EXECUTE ON FUNCTION greater FROM PUBLIC; REVOKE EXECUTE ON FUNCTION less FROM PUBLIC; GRANT accounting TO mary, jim, ted; GRANT EXECUTE ON FUNCTION greater TO accounting; GRANT EXECUTE ON FUNCTION less TO accounting; 用户可能接收附带 WITH GRANT OPTION 授权的 Execute 权限来将 Execute 权限授予 其他用户。如果用户失去对例程的 Execute 权限,则还从通过那个用户授予了 Execute 权 限的那些用户撤销 Execute 权限。 要获取更多信息,请参阅《GBase 8s SQL 指南:语法》 中的 GRANT 和 REVOKE 语句 描述。
在 GBase 8s 的附加 GBase 8s SQL 数据类型与 GBase 8s ODBC Driver C 数据类型之间 有支持的转换。 GBase 8s SQL 数据类型 Collection、DISTINCT、Row 和智能大对象支持在下列 GBase 8s ODBC 驱动程序 C 数据类型(fCType)之间转换: l SQL_C_BINARY l SQL_C_BIT l SQL_C_CHAR l SQL_C_DATE l SQL_C_DOUBLE l SQL_C_FLOAT l SQL_C_LONG l SQL_C_SHORT l SQL_C_SLONG l SQL_C_SSHORT l SQL_C_STINYINT l SQL_C_TIMESTAMP l SQL_C_TINYINT l SQL_C_ULONG l SQL_C_USHORT l SQL_C_UTINYINT GBase 8s SQL 数据类型 OPAQUE 支持在 SQL_C_BINARY 与 SQL_C_CHAR ODBC 驱动程序 C 数据类型(fCType)之间转换。请使用 SQL_C_CHAR 作为字符串来访问外 部格式的 OPAQUE 值。请使用 SQL_C_BINARY 来访问内部二进制格式的 OPAQUE。