请问下各位大牛PL/SQL怎么批量查询出数据 然后修改掉

qq_38092778 2020-07-15 03:53:08
本人新手,oracle有个student表,有列1(学号) ,列2 ,列3(成绩).。。。。等等, 现在我excel有部分学生学号(列1)数据,我想将这些数据的 成绩(列3)全部清0 ,请问怎么实现比较方便





我的想法是把excel导入 然后查询出update掉,如果这个可行的话 、 请问下怎么操作,

如果不行 大家还有什么好办法


越详细越好 谢谢各位大牛
...全文
687 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
下一站、守候 2020-11-29
  • 打赏
  • 举报
回复 1
1.先新建一张空白临时表,与student表字段
create table student_1 as select 列1(学号) from where 1=2;
2.然后把数据导到student_1 ,在PLSQL(工具--ODBC导入器),如附件。
3.update student st set 成绩='0' where exists(select 1 from sutdent_1 ste where st.学号=ste.student_id);

commit;

附件
归如初 2020-09-17
  • 打赏
  • 举报
回复
看你的excel文件里的记录数,记录数不大的话建立新表直接update空表,然后剪切excel里的数据进入新表,然后根据新表在STUDENT表里更新对应学号记录的列三。如果数据量大的话,用ODBC导入。 create table sutdent_id#temp (student_id varchar(50) ); select * from sutdent_id#temp for update; update student st set 成绩='0' where exists(select 1 from sutdent_id#temp ste where st.学号=ste.student_id); commit;
徐徐透之 2020-07-18
  • 打赏
  • 举报
回复
你也不贴个表,图出来,就在这干说
js14982 2020-07-16
  • 打赏
  • 举报
回复
工具-ODBC导入,在导入源界面,文件选择你要导入的Excel文件,DSN选Excel Files,用户密码缺省,点连接connect
qq_38092778 2020-07-15
  • 打赏
  • 举报
回复
引用 2 楼 lhdz_bj 的回复:
关键是看楼主最终想要什么结果,如果想要oracle中的表,那么就将excel导入oracle,然后再update。如果想要excel文件,直接将成绩列的内容清除就可以了。
谢谢大哥,那导入之后怎么生成新表啊?
qq_38092778 2020-07-15
  • 打赏
  • 举报
回复
引用 1 楼 js14982 的回复:
先将Excel数据导入oracle中,生成一张表student_t1,然后通过update语句来批量修改 update student set 成绩=0 where 学号 in (select 学号 from student_t1) t;
请问下怎么生成新表
qq_38092778 2020-07-15
  • 打赏
  • 举报
回复
引用 1 楼 js14982 的回复:
先将Excel数据导入oracle中,生成一张表student_t1,然后通过update语句来批量修改 update student set 成绩=0 where 学号 in (select 学号 from student_t1) t;
请问下导入后怎么生成新表啊?
lhdz_bj 2020-07-15
  • 打赏
  • 举报
回复
关键是看楼主最终想要什么结果,如果想要oracle中的表,那么就将excel导入oracle,然后再update。如果想要excel文件,直接将成绩列的内容清除就可以了。
js14982 2020-07-15
  • 打赏
  • 举报
回复
先将Excel数据导入oracle中,生成一张表student_t1,然后通过update语句来批量修改 update student set 成绩=0 where 学号 in (select 学号 from student_t1) t;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧