-
有基本类型变量,引用类型变量,记录类型变量查看全部
-
pl/sql是面向过程的语言,优点是比sql语言简单,高效,灵活,实用查看全部
-
set serveroutput on declare --说明部分(变量,光标和例外) begin --程序体 end; /查看全部
-
SET serveroutput ON DECLARE CURSOR cemp IS SELECT empno,sal FROM emp ORDER BY sal; pempno emp.empno%type; psal emp.sal%type; countEmp NUMBER :=0; salTotal NUMBER; BEGIN SELECT SUM(sal) INTO salTotal FROM emp; OPEN cemp; LOOP EXIT WHEN salTotal > 50000; FETCH cemp INTO pempno,psal; EXIT WHEN cemp%notfound; UPDATE emp SET sal=sal*1.1 WHERE empno=pempno; countEmp := countEmp +1; salTotal :=salTotal + psal*0.1; END LOOP; CLOSE cemp; COMMIT; dbms_output.put_line('人数:'||countEmp ||' 总额:'||saltotal); END; /查看全部
-
SET serveroutput ON DECLARE CURSOR cemp IS SELECT TO_CHAR(hiredate,'yyyy') FROM emp; phiredate VARCHAR2(4); count80 NUMBER :=0; count81 NUMBER :=0; count82 NUMBER :=0; count87 NUMBER :=0; BEGIN OPEN cemp; LOOP FETCH cemp INTO phiredate; EXIT WHEN cemp%notfound; IF phiredate ='1980' THEN count80 := count80+1; elsif phiredate='1981' THEN count81 :=count81+1; elsif phiredate='1982' THEN count82 :=count82+1; ELSE count87 :=count87+1; END IF; END LOOP; CLOSE cemp; dbms_output.put_line('Total:' || (count81+count82+count80+count87)); dbms_output.put_line('1980:'||count81); dbms_output.put_line('1982:'||count80); dbms_output.put_line('1981:'||count82); dbms_output.put_line('1987:'||count87); END; /查看全部
-
--自定义例外:查询50号部门的员工姓名 SET serveroutput ON DECLARE --定义光标,代表50号部门的员工姓名 CURSOR cemp IS SELECT ename FROM emp WHERE deptno=50; pename emp.ename%type; --自定义例外 no_emp_found EXCEPTION; BEGIN OPEN cemp; FETCH cemp INTO pename; IF cemp%notfound THEN raise no_emp_found; END IF; --oracle自动启动pmon(process monitor) CLOSE cemp; EXCEPTION WHEN no_emp_found THEN dbms_output.put_line('没有找到员工'); WHEN OTHERS THEN dbms_output.put_line('其他例外'); END; /查看全部
-
瀑布模型 1.需求分析 2.设计 2.1概要设计 2.2详细设计 3.编码coding 4.测试Testing 5.上线(部署)查看全部
-
游标属性:%isopen %found %notfound %rowcount 游标数的限制:默认情况下,Oracle数据库只允许在同一个会话(session)中打开300个光标。 设置游标数的限制:alter system set open_cursors=400 scope=both;查看全部
-
SET serveroutput ON DECLARE pnum NUMBER; BEGIN pnum :='abc'; EXCEPTION WHEN value_error THEN dbms_output.put_line('算术或者转换错误'); WHEN OTHERS THEN dbms_output.put_line('其他例外'); END; /查看全部
-
SET serveroutput ON DECLARE pename emp.ename%type; BEGIN SELECT ename INTO pename FROM emp WHERE deptno=20; EXCEPTION WHEN no_data_found THEN dbms_output.put_line('没有找到该员工'); when too_many_rows then dbms_output.put_line('多条记录'); WHEN OTHERS THEN dbms_output.put_line('其他例外'); END; /查看全部
-
/* 1.光标的属性 %found %notfound %isopen:判断光标是否打开 %rowcount:影响的行数 2.光标数的限制 默认情况下,oracle数据库只允许在同一个会话中,打开300个光标 */ SET serveroutput ON DECLARE CURSOR cemp IS SELECT empno,empjob FROM emp; pempno EMP.EMPNO%type; pjob EMP.EMPJOB%type; BEGIN OPEN cemp; LOOP FETCH cemp INTO pempno,pjob; EXIT WHEN cemp%notfound; dbms_output.put_line('rowcount:' || cemp%rowcount); END LOOP ; CLOSE cemp; END; /查看全部
-
带参数的光标: cursor cemp(dno number) is select sal from emp where deptno = dno;查看全部
-
--自定义例外:查询50号部门的员工姓名 set serveroutput on declare --定义光标,代表50号部门的员工姓名 cursor cemp is select ename from emp where deptno = 50; pename emp.ename%type; --自定义意外 no_emp_found exception; begin open cemp; fetch cemp into pename; if cemp%notfound then --抛出意外 raise no_emp_found; end if; close cemp; exception when no_emp_found then dbms_output.put_line('XXXX'); when others then dbms_output.put_line('YYYY'); end; /查看全部
-
1.系统例外:No_data_found(没有找到数据)、Too_many_rows(select ... into 语句匹配多个行)、Zero_Divide(被零除)、Value_error(算数或转换错误)、Timeout_on_resource(在等待资源时发生超时)查看全部
-
1.光标的属性 %found %nofound %isopen:判断光标是否打开 %rowcount:影响的行数 2.光标数的限制:默认情况下,oracle数据库只允许在同一个会话中,打开300个光标 修改光标数的限制: alter system set open_cursors=400 scope=both; scope的取值:both,memory(只更改当前实例,不更改数据库实例),spfile(只更改数据库实例, 不更改当前实例。数据库需要重启) show parameter cursor = %cursor%查看全部
举报
0/150
提交
取消