sybase sql游标

来源:互联网 发布:设计字体的软件 编辑:程序博客网 时间:2024/05/20 22:27

定义游标6部曲
管理游标类似于通过编程语言管理文件。游标的管理步骤如下:
使用 DECLARE 语句为特殊 SELECT 语句或过程声明游标。
使用 OPEN 语句打开游标。
使用 FETCH 语句从游标一次检索一行结果。
警告 [未找到行] 说明已到达结果集的结尾。
使用 CLOSE 语句关闭游标。
缺省情况下,游标会在事务结尾处(COMMIT 或 ROLLBACK 语句上)自动关闭。而使用 WITH HOLD 子句所打开的游标对随后的事务也会保持打开状态,直至被显式关闭。

BEGIN   -- 1. Declare the "row not found" exception   DECLARE err_notfound      EXCEPTION FOR SQLSTATE '02000';   -- 2.  Declare variables to hold   --    each company name and its value   DECLARE ThisName CHAR(100);   DECLARE temps CHAR(500);   -- 3.  Declare the cursor ThisCompany   --     for the query   DECLARE ThisCompany CURSOR FOR   SELECT TB_NAA_EVENTOFFERED.ANTECEDENCE from TB_NAA_EVENTOFFERED;   -- 5. Open the cursor   OPEN ThisCompany;   -- 6. Loop over the rows of the query   CompanyLoop:   LOOP      FETCH NEXT ThisCompany         INTO ThisName;      IF SQLSTATE = err_notfound THEN         LEAVE CompanyLoop;      END IF;    set  temps = temps||ThisName;   END LOOP CompanyLoop;    -- 7. Close the cursor   CLOSE ThisCompany;   select temps as s; END;
0 0
原创粉丝点击