⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 谢妮娜.txt

📁 关于oracle和sql的书籍和ppt教程,非常好,本人珍藏品
💻 TXT
字号:

========================================================================
2,在程序块里写一个事务分成两个单元(一个存储点)
   存储点之前给emp表插入一行数据
   存储点之后给emp表的某一行修改下age ,然后查询该行的age ,如果age > 40 回滚到存储点提交事务,如果条件不满足,提交整个事务

begin
   
    insert into xnn_stu2 (stuid,name,age) values(34,'xiefei',30);
    savepoint p1;
    update xnn_stu2 set age=&age where stuid=&id;
    commit;
  
    select age into v_age from xnn_stu2 where stuid=&id;
    if v_age > 40 then 
    
    rollback to p1;
    dbms_output.put_line('年龄大于40岁,回滚后提交');
    commit;
   
    else
      dbms_output.put_line('全部提交');
    end if;
  end;
==================================================
3,给%TYPE   %ROWTYPE  RECORD  TABLE四种类型分别举出相应的例子

给%TYPE举出相应的例子
declare
   xnn_name emp.ename%type;
   xnn_sal emp.sal%type;
  begin
select ename,sal into xnn_name,xnn_sal from emp where empno = &empno;
   dbms_output.put_line(' 名字  '||xnn_name);
   dbms_output.put_line('  薪水  '||xnn_sal);
end;
=================================================
给%ROWTYPE举出相应的例子
declare 
  xnn_data emp%rowtype;
begin
select * into xnn_data from emp where empno =&empno;
   dbms_output.put_line('mingz:  '||xnn_data.ename||'   XINSHUI:  '||xnn_data.sal);
 end;
=================================================
给RECORD举出相应的例子
declare 
type xnn_type is record (name emp.ename%type,salary emp.sal%type);
  xnn xnn_type;
begin
  select ename,sal into xnn from emp  where empno = &empno;
 dbms_output.put_line(' 名字  '||xnn.name);
 dbms_output.put_line('  薪水  '||xnn.salary);
end;
==================================================
给table举出相应的例子
declare 
   type xnn_table is table of emp.sal%type index by binary_integer;
   xnn xnn_table;
  begin
select sal into xnn(0) from emp where empno = &empno;
  xnn(1) := '1000';
  xnn(2) := '2888';
  dbms_output.put_line('XINSHUI:  '||xnn(0));
   dbms_output.put_line('XINSHUI:  '||xnn(1));
    dbms_output.put_line('XINSHUI:  '||xnn(2));
  end;  
=======================================================
4,定义一个table 里面存放的是%rowtype类型,用该类型定义一个变量datas,从emp表取五行记录放到datas里面,通过循环,把五行数据的值输出来

declare 
   v_s xnn_student%rowtype;
   v_i number:=1 ;
 begin
  for v_i in 1..5 loop
     select * into v_s from xnn_student where sid=v_i;
     dbms_output.put_line('学生编号:'||v_s.sid);
        dbms_output.put_line('学生姓名:'||v_s.name);
          dbms_output.put_line('学生年龄:'||v_s.age);
    
         end loop;
       end; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -