sosi脚本改造

简介: 最近有一个应用需求,就是在一个shell脚本中,通过一些逻辑得到一系列表名,然后作为参数传给著名的sosi脚本,产出物是每张表对应的一个分析结果文件。

最近有一个应用需求,就是在一个shell脚本中,通过一些逻辑得到一系列表名,然后作为参数传给著名的sosi脚本,产出物是每张表对应的一个分析结果文件。

sosi原始脚本中对于接收表名是用类似如下的语法:

column TABLE_NAME heading "Tables owned by &Table_Owner" format a30
select table_name from dba_tables where owner=upper('&Table_Owner') order by 1
...
where 
    owner = upper(nvl('&&Owner',user))
and table_name = upper('&&Table_name')

然后执行脚本,会在变量出现的每一处命令行提示用户进行输入。

现在我需要让shell脚本调用这个sosi,表名作为参数传入,不要人工干预,自动赋值。可以改为:

COLUMN 1 new_value Table_owner
COLUMN 2 new_value Table_name
select '&1' "1" from dual;
select '&2' "2" from dual;
...
where 
    owner = upper('&&Table_owner')
and table_name = upper('&&Table_name')

传入sosi的是两个参数,table_owner和table_name,脚本其余部分使用table_owner和table_name的时候会自动使用开始赋值的值,注意这块必须是”前面的定义值”。

另外,如果参数值是数值类型,则需要写为:

select &1 "1" from dual;

只有字符型,才需要扩上引号。

目录
相关文章
|
人工智能 算法 安全
人工智能伦理与监管:构建负责任的AI未来
【10月更文挑战第3天】随着人工智能(AI)技术的快速发展,其在社会各领域的应用日益广泛。然而,AI的广泛应用也带来了一系列伦理和监管挑战。本文旨在探讨AI的伦理问题,分析现有的监管框架,并提出构建负责任AI未来的建议。同时,本文将提供代码示例,展示如何在实践中应用这些原则。
1827 1
|
数据采集 数据可视化 数据挖掘
数据挖掘实战:使用Python进行数据分析与可视化
在大数据时代,Python因其强大库支持和易学性成为数据挖掘的首选语言。本文通过一个电商销售数据案例,演示如何使用Python进行数据预处理(如处理缺失值)、分析(如销售额时间趋势)和可视化(如商品类别销售条形图),揭示数据背后的模式。安装`pandas`, `numpy`, `matplotlib`, `seaborn`后,可以按照提供的代码步骤,从读取CSV到数据探索,体验Python在数据分析中的威力。这只是数据科学的入门,更多高级技术等待发掘。【6月更文挑战第14天】
1310 11
|
存储 机器学习/深度学习 数据挖掘
FusionInsight概述
FusionInsight概述
690 0
|
JavaScript 前端开发 API
react组件进阶之 context(上下文)
上下文(context): 是指一个组件里面包含所有子组件组成dom 的树,那么在这颗虚拟dom树中的环境,就称之为上下文。说到树这个概念,稍微提一笔,在树中,每一个节点我们都可以理解他是一颗树的根节点(起始节点)。
react组件进阶之 context(上下文)
|
Windows
Customize Acrylic Brush in UWP Applications(在UWP中自定义亚克力笔刷)
原文 Customize Acrylic Brush in UWP Applications(在UWP中自定义亚克力笔刷) Windows 10 Fall Creators Update(Build 16299)添加了acrylic brush,这是一个类似于Windows 7 Aero效果的UI画笔。
1522 0
|
存储 关系型数据库 数据库
PgSQL · 应用案例 · 阿里云RDS金融数据库(三节点版) - 背景篇
背景 提到金融级数据库,大家可能不约而同的会想到Oracle,DB2等商业数据库。但是随着开源数据库的发展,开源数据库正在逐渐成为数据库产业的核心,比如MySQL、PostgreSQL数据库 ,已经深入阿里、平安科技、苏宁、高德、国家电网(还有很多)的核心。可以看到,不管是MySQL还是PostgreSQL,有越来越多成功的核心应用案例。 目前还有一些金融企业核心数据库依旧是老牌的商业数据库,个
2631 0
|
1天前
|
弹性计算 运维 搜索推荐
三翼鸟携手阿里云ECS g9i:智慧家庭场景的效能革命与未来生活新范式
三翼鸟是海尔智家旗下全球首个智慧家庭场景品牌,致力于提供覆盖衣、食、住、娱的一站式全场景解决方案。截至2025年,服务近1亿家庭,连接设备超5000万台。面对高并发、低延迟与稳定性挑战,全面升级为阿里云ECS g9i实例,实现连接能力提升40%、故障率下降90%、响应速度提升至120ms以内,成本降低20%,推动智慧家庭体验全面跃迁。