前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PLSQL-sql操作&判断循环

PLSQL-sql操作&判断循环

作者头像
字母哥博客
发布2020-09-23 11:17:35
4840
发布2020-09-23 11:17:35
举报

PL/SQL中SQL操作

  • sql%rowcount属性:实际在sql操作过程中开起了隐式游标,表示最近执行的sql语句影响的行数
代码语言:javascript
复制
declare
  vCount number;
  vDeptno dept2.deptno%type := 10;
begin

  --select count(*) into vCount from dept2;
  --update dept2 set dname = dname || '~.~' where deptno = vDeptno;
  --delete from dept2 where deptno = 40;

  insert into dept2 select * from dept;
  dbms_output.put_line('count:' || vCount);
  dbms_output.put_line(sql%rowcount || '行受影响');

end;

PL/SQL执行静态sql语句

代码语言:javascript
复制
begin
  execute immediate 'create table temp as select * from dept';
end;

动态sql(变量占位符)

代码语言:javascript
复制
declare
     sqlstr varchar2(100);
begin

     sqlstr := 'insert into scott.dept values(12, :1, :abc)';

     --变量是按照占位符顺序插入的
     execute immediate sqlstr using '教务部', '武汉';
end;

select * from scott.dept;

动态sql(把查询结果赋值给变量)

代码语言:javascript
复制
declare
       dept_row_data scott.dept%rowtype;
       sqlstr varchar2(100);
begin
     sqlstr := 'select * from scott.dept where deptno = 11';
     execute immediate sqlstr into dept_row_data;
     dbms_output.put_line(dept_row_data.deptno);

end;

判断循环

if 语句

代码语言:javascript
复制
declare
  vSal emp.sal%type;
begin
  select sal into vSal from emp where empno = 7566;

  if (vSal < 1200) then
    dbms_output.put_line('小于1200');
  elsif (vSal < 2000) then
    dbms_output.put_line('小于2000');
  else
    dbms_output.put_line('大于2000');
  end if;
end;

loop循环

代码语言:javascript
复制
declare
  i binary_integer := 10;
begin

  loop
    dbms_output.put_line(i);
    i := i - 1;
    exit when(i < 1);
  end loop;

end;

while循环

代码语言:javascript
复制
declare
  i binary_integer := 1;
begin
  while i < 11 loop
     dbms_output.put_line(i);
     i := i + 1;
  end loop;
end;

for 循环

代码语言:javascript
复制
begin
  for i in 1..10 loop
    dbms_output.put_line(i);
  end loop;

  for i in reverse 1..10 loop
    dbms_output.put_line(i);
  end loop;
end;

参考

http://www.cnblogs.com/hoojo/archive/2011/05/03/2035357.html

喜欢 (1)or分享 (0)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-02-09),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PL/SQL中SQL操作
    • PL/SQL执行静态sql语句
      • 动态sql(变量占位符)
        • 动态sql(把查询结果赋值给变量)
        • 判断循环
          • if 语句
            • loop循环
              • while循环
                • for 循环
                • 参考
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档