sybase sql游标

    xiaoxiao2021-04-13  28

    定义游标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;
    转载请注明原文地址: https://ju.6miu.com/read-668724.html

    最新回复(0)