• PLSQL操作DDL和行变量的学习


    行变量的学习

      1:说明

        行变量可以存储表的一条记录。

      2:格式

        变量名  表名%rowtype

      3:访问行变量的字段

        变量名.字段名

      4:练习

        -->使用行变量输出显示10号部门的员工编号,姓名,职位

        -->写法1:

         declare

          cursor c is select * from emp where deptno=10;

          row_emp emp%rowtype;  --行变量可以存储表的一条记录

        begin

          open c;

          fetch c into row_emp;

          while c%found

            loop

              dbms_output.put_line(row_emp.empno||' '||row_emp.ename||' '||row_emp.job);

              fecth c into row_emp;

            end loop;

           close c;

         end;

          /

        -->写法2:

          declare 

            cursor c is select * from emp where deptno=10;

            row_emp emp%rowtype;

          begin

            open c;

            fetch c into row_emp;

            loop

              dbms_output.put_line(row_emp.empno||' '||row_emp.ename||' '||row_emp.job);

              fetch c into row_emp;

              exit when c%not found;

            end loop;

            close c;

          end;

          /

        -->写法3:

          declare

            cursor c is select * from emp where deptno=10;

            row_emp emp%rowtype;  --可省略

          begin

            for row_emp in c

              loop

                dbms_output.put_line(row_emp.empno||' '||row_emp.ename||' '||row_emp.job);

              end loop;

          end;

          /

    PLSQL操作DDL语句

            

      1:说明

        需要使用execute immediate 'DDL';

      2:练习

        -->创建一张表 temp 字段id number,name varchar2(20);

        begin

          execute immediate

            'create table temp(

               id number(4),

               name varchar2(20)

            )';

        end;

        /

      3:在执行DDL语句时可以进行插入操作:如insert数据,但是,不能直接写insert into ,因为DDL仅仅处于编译状态,此时数据库中还没有该表,所以直接insert into 会报错,编译不通过,insert也应该写在execute immediate中。

      4:练习

        -->创建表temp_1 ,id,name,同时插入数据1,张三,2,李四。

        begin

          execute immediate

          'create table temp_1(

            id number(3),

            name varchar2(20)

          )';

          execute immediate 'insert into temp_1 values(1,'张三')';

          execute immediate 'insert into temp_1 values(2,'李四')';

        end;

        /

          

  • 相关阅读:
    JSP
    Map集合的四种遍历
    过滤器和监听器
    Web常用对象(2)
    Web常用对象(1)
    Java Web了解和Servlet初次见面
    面向对象之继承(1)
    SpringBoot使用简单缓存
    SpringBoot整合mybatis
    Spring Security 入门学习--数据库认证和授权
  • 原文地址:https://www.cnblogs.com/lyr999736/p/9051035.html
Copyright © 2020-2023  润新知