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

📄 郑国.txt

📁 关于oracle和sql的书籍和ppt教程,非常好,本人珍藏品
💻 TXT
字号:
1,从控制台打印下列信息
         *
        ***
       *****
      *******
       *****
        ***
         *

程序如下

declare
 a int;
 b int;
 c int;
 d int;
 e int;
begin 
   a:=&菱形的层数;
   e:=&菱形前的空格数;
   b:=-a;                      
   
   while b<a-1 loop
     b:=b+1;        
     c:=abs(b);                  --用绝对值来控制先大后小的变量,这个变量c控制着*号和空格的
                                 --打印次数  
     d:=0;
     
          while d<c loop           --控制输出的空格数
             d:=d+1;
             dbms_output.put(' ');
              end loop;
      d:=0;                          
           while d<(2*(a-c)-1) loop  --控制输出的*数量
             d:=d+1;
             dbms_output.put('*');
              end loop;    
   

     end loop;
            
end;



下面是2 3 4 题的代码;


declare 
  vsno stu.sno%type;                    --%TYPE定义
  vsname stu.sname%type;                 --%TYPE定义
  vage stu.age%type;                     --%TYPE定义
  vsex stu.sex%type;                     --%TYPE定义
  vtno stu.tno%type;                      --%TYPE定义
  vgrade stu.grade%type;                  --%TYPE定义
  row_type stu%rowtype;                      --%TYPE定义

  type my_data is record(ssname stu.sname%type,age stu.age%type);         --RECORD类型定义  
  type my_table is table of stu.sname%type index by binary_integer;        --table类型定义

  table_type my_table ;            --RECORD类型定义  
  record_type my_data  ;           --table类型定义  

  i int:=-1;
  j int:=11;

begin
   select *  into row_type from stu where sno=11;               --使用rowtype类型
   dbms_output.put_line(row_type.sname);                        --使用rowtype类型
   select sname,age into record_type from stu where sno=11;     --使用record类型
   dbms_output.put_line(record_type.ssname);                    --使用record类型
   dbms_output.put_line(record_type.age);                       --使用record类型
   
   /*4,定义一个table 里面存放的是%rowtype类型,用该类型定义一个变量datas,
   从emp表取五行记录放到datas里面,通过循环,把五行数据的值输出来*/
   
       for i in -1..3 loop                                    --使用table类型
       select sname into table_type(i) from stu where sno=j;  --使用table类型
       j:=j+1;                                                --使用table类型
       dbms_output.put_line(table_type(i));                   --使用table类型
       end loop;                                              --使用table类型


vsno:=&学号;
vsname:=&姓名;
vage:=&年龄;
vsex:=&性别;
vtno:=&课程号;
vgrade:=&成绩;
insert into stu values (vsno,vsname,vage,vsex,vtno,vgrade);
savepoint sp1;


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

update stu set age=age+10 where sno=vsno;
select age into vage from stu where sno=vsno;
if vage>40 
then rollback to sp1;
end if;
commit;

end;
 

⌨️ 快捷键说明

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