暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

sqlplus中new_value备忘

原创 ycc 云和恩墨交付战队 2022-03-13
511

    在sqlplus中,经常需要把SQL查询的结果赋给一个变量,再把这个变量代入到SQL中去,oracle提供了一个非常强大和好用的功能:new_value

    比如,在secureCRT中,当需要从多个库中去pdb查询某个SQL时,我们一般会开多个会话,把命令发送到所有会话,达到并行的效果,但问题是,每个库的pdb名是不一样的(不过con_id是一样的),所以我们需要把SQL的结果赋给一个变量,再在切换容器时代入这个变量,如下:

    col name new_value pdbname noprint  -- 表示把name字段的结果赋给pdbname这个变量,noprint是不用打印出来,还可以缩写成new_v与nop的

   select name from v$containers where id=3;    执行完sql后,已经自动把结果赋给变量了; 

   alter session set container=&pdbname;  使用了变量,就可以直接发给多个secureCRT的session了 ; 

   这只是个小例子,有了这个方法,sql就可以实现很多的功能; 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论