-
--对于Oracle,默认的事务隔离级别是read committed --事务的ACID(原则性,一致性,隔离性,持久性)查看全部
-
光标的语法 CURSOR 光标名[(参数名 数据类型[,参数名 数据类型]...)] IS SELECT 语句; cursor c1 is select ename from emp; 打开光标:open c1; 关闭光标:close c1; 取一行光标的值: -fetch c1 into pename;(取一行到变量中) -fetch 的作用: -把当前指针指向的记录返回 -将指针指向下一条记录查看全部
-
oracle——PL/SQL DB2——SQL/PL SOL Server——T-SQL查看全部
-
循环语句 While total <= 25000 LOOP ..... total := total+salary; END LOOP; LOOP EXIT [when tiaojian]; ... end loop FOR I IN 1..3 LOOP 语句序列; END loop;查看全部
-
记录型变量(代表表中的一行,理解成数组) 例:emp_rec emp%routype; emp_rec.ename := 'ADAMS';查看全部
-
set serveroutput on declare --说明 pnumber number(7,2); pname varchar2(20); pdate date; begin --程序 pnumber := 1; pname :='Tom'; pdate := sysdate; dbms_output.put_line(pnumber); dbms_output.put_line(pname); dbms_output.put_line(pdate); end;查看全部
-
光标限制:默认情况下,Oracle数据库只允许在同一个会话中打开300个光标。查看全部
-
declare --定义光标 查询empno以及job岗位 cursor c1 is select empno,job from emp; --声明一个变量 此变量与emp表中的job字段类型一致 emp_job emp.job%type; --声明一个变量 此变量与emp表中的empno字段类型一致 emp_empno emp.empno%type; --开始 begin --打开光标 open c1; --循环开始 loop --取出光标 fetch c1 into emp_empno,emp_job; exit when c1%notfound;--判断光标是否存在 如果存在 则往下执行 否则 不执行 if emp_job='PRESIDENT' then update emp set sal =sal+1000 where empno=emp_empno; elsif emp_job='MANAGER' then update emp set sal =sal+800 where empno=emp_empno; else update emp set sal =sal+1000 where empno=emp_empno; end if; end loop;--退出循环 close c1;--关闭光标 end;--结束标识查看全部
-
--找出emp中的所有职位 declare --定义光标 查询job岗位 cursor c1 is select job_id from employees; --声明一个变量 此变量与emp表中的job字段类型一致 emp_job employees.job_id%type; --开始 begin --打开光标 open c1; --循环开始 loop --取出光标 fetch c1 into emp_job; exit when c1%notfound;--判断光标是否存在 如果存在 则往下执行 否则 不执行 dbms_output.put_line(emp_job); end loop;--退出循环 close c1;--关闭光标 end;--结束标识查看全部
-
瀑布模型查看全部
-
涉及多张表使用了嵌套循环,内层使用带参数的光标。 set serveroutput on declare cursor cdept is select deptno from dept; pdeptno dept.deptno%type; cursor cemp(dno number) is select sal from emp where deptno=dno; psal emp.sal%type; count1 number; count2 number; count3 number; saltotal number; begin open cdept; loop fetch cdept into pdeptno; exit when cdept%notfound; count1 :=0; count2 :=0; count3 :=0; select sum(sal) into saltotal from emp where deptno=pdeptno; open cemp(pdeptno); loop fetch cemp into psal; exit when cemp%notfound; if psal<3000 then count1:=count1+1; elsif psal>=3000 and psal<6000 then count2:=count2+1; else count3:=count3+1; end if; end loop; close cemp; insert into msg values(pdeptno,count1,count2,count3,nvl(saltotal,0)); end loop; close cdept; commit; dbms_output.put_line('统计完成'); end; /查看全部
-
* for循环语句 1..5 1,2,3,4,5 连续数字 declare pnum number :=1; begin for pnum in 1..5 loop dbms_output.put_line(pnum); end loop; end; / loop 循环 exit条件成立退出循环,不成立执行循环体 declare pnum number :=1; begin * loop exit when pnum >10; dbms_output.put_line(pnum); pnum := pnum+1; end loop; end; / * while 循环 declare pnum number :=1; begin while pnum <=10 loop dbms_output.put_line(pnum); pnum := pnum+1; end loop; end; /查看全部
-
瀑布模型: 需求分析 设计:概要设计、详细设计 编码 测试 上线 忌讳一上来就写程序,应当先分析问题: SQL语句; 变量:1.初始值是多少;2.最终值如何得到查看全部
-
--成绩统计sql 片段3 --判断成绩的范围 if pgrade < 60 then count1 := count1+1; elsif pgrade >= 60 and pgrade < 85 then count2:=count2+1; else count3 := count3+1; end if; end loop; close cgrade; --保存当前的结果 insert into msg1 values(pcourseName,pdno,count1,count2,count3,avggreade); end loop; --关闭系的光标 close cdept; --事务提交 commit; dbms_output.put_line('统计完成'); end;查看全部
-
--成绩统计sql 片段2 begin --打开系的光标 open cdept; loop --取出一个系的信息 fetch cdept into pdno,pdname; exit when cdept%notfound; --初始化工作 count1 :=0;count2 :=0;count3 :=0; --系的平均成绩 select avg(grade) into avggrade from sc where cno = (select cno from course where cname=pcourseName) and sno in (select sno from student where dno=pdno) --取系中选修了大学物理的学生成绩 open cgrade(pcourseName,pdno); loop fetch cgrade into pgrade; exit when cgrade%notfound;查看全部
举报
0/150
提交
取消