GBase 8s
运维管理
文章

南大通用GBase8s 常用SQL语句(9)

发表于2025-12-17 10:22:4725次浏览2个评论

1. SPL 语句

该主题描述存储过程语言(SPL)语句,用于编写 SPL 例程。您可以将这些例程作为用户定义的例程(UDR)存储在数据库中。

SPL 例程(之前称为存储过程)是用于控制 SQL 活动的有效工具。本章包含 SPL 语句的描述。每个语句的描述包含以下信息: 信息

l 说明语句的作用的简单介绍

l 显示如何正确输入语句的语法图表

l 说明语法图表中每个输入参数的语法表

l 用法鬼子,包括带有说明这些规则的示例

如果语句由多个子句组成,则该语句描述为每个子句提供相同的信息集合。

有关创建和使用 SPL 例程的 SPL 语言和面向任务的信息的概述,请参阅GBase 8s SQL 教程指南

有关如果创建和使用 SPL 例程中预备对象和动态 SQL 的详细示例的概述,请参阅 GBase developerWorks 中的 GBase 8s 数据库服务器存储过程语言的动态 SQL 支持。

GBase 8s 可以使用 CREATE PROCEDURE 或 CREATE PROCEDURE FROM 语句创建 SPL 函数,但是它对与外部函数则需要使用 CREATE FUNCTION 或 CREATE FUNCTION FROM 语句。但是,建议您使用 CREATE FUNCTION 或 CREATE FUNCTION FROM 语句创建新的用户定义的函数。

1.1 调试 SPL 例程

可以使用 Routine Debugger 客户端应用程序标识并分析 SPL 中的逻辑错误。

您可以在 SPL 例程中包含 TRACE 语句来生成跟踪输出。有关如何生成及检查 TRACE 语句的输出,请参阅 TRACE。

调试 SPL 例程中的当前限制

以下软件产品可支持当前用于调试 GBase 8s SPL 例程的客户端环境:

l Optim™ Development Studio (ODS)

l GBase Database Add-Ins for Visual Studio (IDAIVS)

有关哪些 GBase 8s 数据类型是只读的以及哪些是可更新的信息,请参阅数据类型支持文档。

以下限制适用于 Optim Development Studio (ODS) 和 GBase Database Add-Ins for Visual Studio (IDAIVS) 调试环境:

未日志记录的数据库

GBase 8s 非事务型数据库不支持 SPL 调试。无法对 ODS 或 IDAIVS 调试环境使用省略 WITH LOG 关键字的 CREATE DATABASE 语句的 GBase 8s 数据库。

辅助服务器实例

集群环境中的辅助服务器不支持 Insert 、Delete 或 Update 触发器的 'Step into' 触发过程操作。

用引号(")分隔的数据字符串

ODS 或 IDAIVS 调试客户端当前对引号标记分隔符的解释可能与某些 SPL 例程的预期行为冲突。

l 目前,在 ODS 调试会话中,缺省情况下,GBase Data Server 驱动程序 JDBC 和 SQLJ 连接字符串中的 DELIMIDENT 环境变量设置为'y'。JDBC 连接的 DELIMIDENT 缺省值为'n'。

l 在当前 IDAIVS 调试会话中,缺省情况下, GBase 8s .NET provider 连接字符串中的 DELIMIDENT 环境变量设置为 'y' 。

DELIMIDENT 环境变量的设置会影响数据库服务器如何解释带引号的字符串:

· 'y' 指定由双引号(")标记包括的字符串是分隔的 SQL 标识符。客户端应用程序必须使用单引号(')标记分隔字符串,并且只能在分隔的 SQL 标识符周围使用双引号("),可以支持比在未限定标识符中有效的更大的字符集。在支持区分大小写的语言环境中,分隔字符串中或分隔标识符内的字母都区分大小写。这是 .NET 的缺省值。

· 'n' 指定客户端应用程序可以使用双引号(")或单引号(')标记分隔字符串,但是不能分隔 SQL 标识符。如果数据库服务器遇到在需要 SQL 标识符的上下文中由双引号或单引号分隔的字符串,则它会发出错误。限定 SQL 标识符的所有者名称可以用单引号(')标记分隔。您必须使用一对相同的引号符号来分隔字符串。

· 如果客户端系统上没有指定 DELIMIDENT 值,则使用缺省设置。如上所述,对于 OCD 该缺省值为 'n'(来自GBase Data Server 驱动程序 JDBC 和 SQLJ 连接字符串)。对于 IDAIVS ,该缺省值为 'y'(来自 GBase 8s .NET provider 连接字符串)。

评论

登录后才可以发表评论
xinyiedc!发表于 2个月前
三人行必有我师
茵陈发表于 2个月前
闪闪发光