此语句用于关闭游标。
CLOSE cursor-name
cursor-name : identifier | hostvar
此语句关闭指定的游标。
游标在此前必须已打开。
无。
SQL/2003 核心特性。
以下示例关闭嵌入式 SQL 中的游标。
EXEC SQL CLOSE employee_cursor; EXEC SQL CLOSE :cursor_var; |
以下过程使用游标。
CREATE PROCEDURE TopCustomer (OUT TopCompany CHAR(35), OUT TopValue INT) BEGIN DECLARE err_notfound EXCEPTION FOR SQLSTATE '02000'; DECLARE curThisCust CURSOR FOR SELECT CompanyName, CAST( sum(SalesOrderItems.Quantity * Products.UnitPrice) AS INTEGER) VALUE FROM Customers LEFT OUTER JOIN SalesOrders LEFT OUTER JOIN SalesOrderItems LEFT OUTER JOIN Products GROUP BY CompanyName; DECLARE ThisValue INT; DECLARE ThisCompany CHAR(35); SET TopValue = 0; OPEN curThisCust; CustomerLoop: LOOP FETCH NEXT curThisCust INTO ThisCompany, ThisValue; IF SQLSTATE = err_notfound THEN LEAVE CustomerLoop; END IF; IF ThisValue > TopValue THEN SET TopValue = ThisValue; SET TopCompany = ThisCompany; END IF; END LOOP CustomerLoop; CLOSE curThisCust; END |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |