-
游标的语法查看全部
-
pl/sql的程序结构查看全部
-
oracle自动调用pmon(process moniter)查看全部
-
set serveroutput on declare pename emp.ename%type; begin select ename into pename from emp where empno=1234; exception when no_data_found then dbms_output.put_line('没有找到该员工'); when othes then dbms_output.put_line('其他例外'); end; /查看全部
-
系统异常: Zero_Divide(被零除) Value_error(算数或转化错误) Timeout_on_resource(在等待资源时发生超时,多发生在分布式数据库) Data_not_found Too_many_rows查看全部
-
--查询某个部门中员工的姓名 set serveroutput on declare --定义带参数的光标 cursor cemp(dno number) is select ename from emp where deptno=dno; begin open cemp(10); loop fetch cemp into penae; exit when cemp%notfound; dbms_output.put_line(pename); end loop; close cemp; end; /查看全部
-
1光标的属性 %found %notfound %isopen : 判断光标是否打开 %rowcount : 影响的行数 2.光标数的限制:默认情况下,oracle数据库只允许在同一个会话中,打开300个光标 >--切换到管理员,查看数据库初始化设置 >show user >conn sys/password@192.168.56.101:1521/orcl as sysdba >show parameter cursor 修改光标数的限制: alter system set open_cursors=400 scope=both; scope的取值:both(两个同时更改),memory(只更改当前实例,不更改参数文件),spfile(只更改参数文件,不更改当前文件,数据库需要重启) if cemp%isopen then dbms_output.put_line('光标已经打开'); end if; loop --取出一条记录 fetch cemp into pempno,pjob; exit when cemp%notfound; --打印rowcount的值 dbms_output.put_line('rowcount'||cemp%rowcount); end loop;查看全部
-
1.引用型变量 declare --定义引用型变量:查询并打印7839的姓名和薪水 --pname varchar2(20); --psal number; pname emp.ename%type; psal emp.sal%type; begin --得到7839的姓名和薪水,并赋值(PL/SQL一共两种赋值方式) select ename,sal into pname,psal from emp where empno = 7839; --打印姓名和薪水 dbms_output.put_line(pname||'的薪水是'||psal); end; --记录型变量(数组) declare --定义记录型变量:查询并打印7839的姓名和薪水,注意代表一行 emp_rec emp%rowtype; begin --得到7839一行的信息 select * into emp_rec from emp where empno = 7839; --打印姓名和薪水 dbms_output.put_line(emp_rec.ename||'的薪水是'||emp_rec.sal); end;查看全部
-
1、PL/SQL是对sql语言的过程化扩展 2、PL/SQL是面向过程的语言查看全部
-
set serveroutput on查看全部
-
no_data_found、too_many_rows查看全部
-
瀑布模型查看全部
-
set serveroutput on declare --定义光标代表给哪些员工涨工资 --alter table "scott"."emp" rename column "job" to empjob cursor cemp is select empno,empjob from emp; pmepno emp.empno%type; pjob emp.empjob%type; begin --rollback;(回退) open cemp; loop fetch cemp into pempno,pjob; exit when cemp%notfound; if pjob = 'PRESIDENT' then update emp set sal=sal+1000 where empno=pempno; elsif pjob = 'MANAGER' then update emp set sal=sal+800 where empno=pempno; else update emp set sal=sal+400 where empno=pempno; end if; end loop; close cemp; --对于oracle,默认的事务隔离级别是read committed; --事务的ACID(原子性、一致性、隔离性、持久性) commit; end; /查看全部
-
循环语句: --while循环打印数字的1~10 set serveroutput on declare --定义循环变量 pnum number := 1; begin while pnum <= 10 loop --循环体 dbms_output.put_line(pnum); --使该变量+1 pnum := pnum+1; end loop; end; / --loop循环打印数字的1~10(推荐) set srveroutput on declare --定义循环变量 pnum number:=1; begin loop --退出条件 exit when pnum>0; --打印该变量的值 dbms_output.put_line(pnum); --循环变量+1 pnum:=pnum+1; end loop; end; / --for循环打印数字1~10 set serveroutput on declare --定义循环变量 pnum number:=1; begin for pnum in 1..10 loop --循环体 dbms_output.put_line(pnum); end loop; end; /查看全部
-
参数打开光标时传入查看全部
举报
0/150
提交
取消