DECLARE
strSql varchar2(100);
CURSOR EMP_CURSOR IS SELECT ENAME,SAL FROM EMP FOR UPDATE;
EMP_RECORD EMP_CURSOR%ROWTYPE;
BEGIN
strSql:='ALTER TRIGGER tr_emp_time DISABLE';
EXECUTE IMMEDIATE strSql;
OPEN EMP_CURSOR;
LOOP
FETCH EMP_CURSOR INTO EMP_RECORD;
EXIT WHEN EMP_CURSOR%NOTFOUND;
IF EMP_RECORD.SAL<2000 THEN
UPDATE EMP SET SAL=SAL*1.1 WHERE CURRENT OF EMP_CURSOR;
END IF;
END LOOP;
END;
上面定义的游标,CURSOR EMP_CURSOR IS SELECT ENAME,SAL FROM EMP FOR UPDATE;
红字部分到底是代表上面呢?详细点儿哈,谢谢了
strSql varchar2(100);
CURSOR EMP_CURSOR IS SELECT ENAME,SAL FROM EMP FOR UPDATE;
EMP_RECORD EMP_CURSOR%ROWTYPE;
BEGIN
strSql:='ALTER TRIGGER tr_emp_time DISABLE';
EXECUTE IMMEDIATE strSql;
OPEN EMP_CURSOR;
LOOP
FETCH EMP_CURSOR INTO EMP_RECORD;
EXIT WHEN EMP_CURSOR%NOTFOUND;
IF EMP_RECORD.SAL<2000 THEN
UPDATE EMP SET SAL=SAL*1.1 WHERE CURRENT OF EMP_CURSOR;
END IF;
END LOOP;
END;
上面定义的游标,CURSOR EMP_CURSOR IS SELECT ENAME,SAL FROM EMP FOR UPDATE;
红字部分到底是代表上面呢?详细点儿哈,谢谢了
你可以开2个用户,测试一下。