ASA SQL Reference
SQL Statements
Use this statement to close a cursor.
CLOSE cursor-name
cursor-name : identifier | hostvar
This statement closes the named cursor.
The cursor must have been previously opened.
None.
DECLARE CURSOR statement [ESQL] [SP]
SQL/92 Entry-level feature.
SQL/99 Core feature.
Sybase Supported by Adaptive Server Enterprise.
The following examples close cursors in embedded SQL.
EXEC SQL CLOSE employee_cursor; EXEC SQL CLOSE :cursor_var;
The following procedure uses a cursor.
CREATE PROCEDURE TopCustomer (OUT TopCompany CHAR(35), OUT TopValue INT) BEGIN DECLARE err_notfound EXCEPTION FOR SQLSTATE '02000'; DECLARE curThisCust CURSOR FOR SELECT company_name, CAST( sum(sales_order_items.quantity * product.unit_price) AS INTEGER) VALUE FROM customer LEFT OUTER JOIN sales_order LEFT OUTER JOIN sales_order_items LEFT OUTER JOIN product GROUP BY company_name; 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