我是靠谱客的博主 成就大地,最近开发中收集的这篇文章主要介绍linux shell使用loop和cursor批量修改sql,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

USER="zhangsan"
PWD="123456"
DBNAME="JTP"

sqlplus ${USER}/${PWD}@${DBNAME}<<EOF

declare
    #定义游标并赋值cursor 与is一起使用
    cursor stu_cur is select * from tbstudents;
    #定义类型rowtype,stu_row用户获取表字段值
    stu_row tbstudent%rowtype
    #开始执行
    begin
    #打开游标
    open stu_cur
    #开始循环
    loop
    #退出循环结束条件
    exit when stu_cur%notfound
    #将游标的值赋值到rowtype
    fetch stu_cur into stu_row
    #更新表字段,将没有身份证的学生状态置位0(不正常)
    update set status='0' where name=stu_row.name and id_code=' ';
    #或者使用下面sql,,更高效;
    if stu_row.id_code = ' ' then
        update student set status='0' where name=stu_row.name;
    elsif stu_row.id_kind = ' ' then
        update student set status='0' where name=stu_row.name;
    elsif stu_row.name = ' ' or stu_row.sex = ' ' then
        update student set status='0' where name=stu_row.name;
    end if;
    #结束循环
    end loop;
    #关闭游标
    close stu_cur;
    end;

EOF

  • 1.sqlplus
  • 2.delcare
  • 3.cursor
  • 4.begin
  • 5.open cursor
  • 6.loop
  • 7.exit
  • 8.fetch
  • 9.sql

最后

以上就是成就大地为你收集整理的linux shell使用loop和cursor批量修改sql的全部内容,希望文章能够帮你解决linux shell使用loop和cursor批量修改sql所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部