• GBase 8s CLOSE 语句


    当您不再需要引用 Select 或 Function 游标检索的行时,请使用 CLOSE 子句关闭游标。

    在 ESQL/C 中,该语句还可以刷新并关闭 Insert 游标。可在 GBase 8s ESQL/C 或 SPL 中使用此语句。

    在这里插入图片描述

    用法

    关闭游标使得游标对于除 OPEN 或 FREE (或 OPEN FOR)之外的任何语句无用,并释放数据库服务器已经分配到游标的资源。

    在不兼容ANSI 的数据库中,您可以关闭尚未打开的游标或已经关闭的游标。在这些情况下没有采取任何操作。

    在兼容 ANSI 的数据库中,如果您关闭尚未打开的游标,那么数据库服务器返回错误。

    示例

    以下示例关闭了游标 democursor 。

    EXEC SQL close democursor;

    以下是来自 demo1.ec 的 ESQL/C Source 代码示例:

    #include

    EXEC SQL define FNAME_LEN 15;

    EXEC SQL define LNAME_LEN 15;

    main()

    {

    EXEC SQL BEGIN DECLARE SECTION;

    char fname[ FNAME_LEN + 1 ];

    char lname[ LNAME_LEN + 1 ];

    EXEC SQL END DECLARE SECTION;

    printf( “DEMO1 Sample ESQL Program running.\n\n”);

    EXEC SQL WHENEVER ERROR STOP;

    EXEC SQL connect to ‘stores7’;

    EXEC SQL declare democursor cursor for

    select fname, lname

    into :fname, :lname

    from customer

    where lname < “C”;

    EXEC SQL open democursor;

    for (;😉

    {

    EXEC SQL fetch democursor;

    if (strncmp(SQLSTATE, “00”, 2) != 0)

    break;

    printf(“%s %s\n”,fname, lname);

    }

    if (strncmp(SQLSTATE, “02”, 2) != 0)

    printf(“SQLSTATE after fetch is %s\n”, SQLSTATE);

    EXEC SQL close democursor;

    EXEC SQL free democursor;

    EXEC SQL create routine from ‘del_ord.sql’;

    EXEC SQL disconnect current;

    printf(“\nDEMO1 Sample Program over.\n\n”);

    exit(0);

    }

    关闭 Select 或 Function 游标

    当游标与 SQL 的 SELECT 、EXECUTE FUNCTION 或 EXECUTE PROCEDURE 语句相关时,关闭游标将终止此相关联的 SQL 语句。

    数据库服务器释放它可能已经分配到活动行集的所有资源。例如,它用来保存有序集的临时表。数据库服务器还释放它在在通过游标选择的行上可能持有的任何锁定。然而,如果事务包含 CLOSE 语句,则在您执行 COMMIT WORK 或 ROLLBACK WORK 语句之前数据库服务器不释放锁定。

    关闭 Select 游标或 Function 游标之后,您无法执行游标的 FETCH 语句,直到您重新打开它。

    SPL 例程中,内置的 SQLCODE 函数可以显示 Select 游标或 Function 游标的 CLOSE 语句的结果。该函数返回的值相当于 sqlca 结构的 SQLCODE 字段。然而,如果您在调用 SPL 例程的上下文之外调用内置的 SQLCODE 函数,则 GBase 8s 发出错误。

  • 相关阅读:
    FlinkException
    写给正在互联网经历孤独和迷茫的你
    【MySQL】21-MySQL之增删改
    第2-2-3章 常见组件与中台化-常用组件服务介绍-注册登录服务
    硬件管理平台-硬件产品库-反射模块
    【目标检测】one-stage------YOLO v2浅析-2016
    odoo 云部署
    ChatGPT - 在ChatGPT中设置通用提示模板
    【JavaEE】多线程(一)
    从零实现ORM框架GeoORM-对象表结构映射-02
  • 原文地址:https://blog.csdn.net/qq_39280087/article/details/126478465