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;

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

目录
相关文章
|
测试技术
|
3月前
|
搜索推荐 API 数据处理
什么是无代码?哪些人适合通过无代码来开发自己的业务系统
无代码是一种无需编程知识即可构建应用的方法。用户通过拖拽组件并设置参数,即可搭建功能完备的应用系统。其核心特点是普适性和包容性,降低了技术门槛,提供了直观界面,能快速响应需求变化,同时降低成本并具有一定的可扩展性。无代码适合一线业务人员、中小企业及专业技术人员使用,但在高度定制化、复杂逻辑处理或深度系统集成方面仍需传统开发。以草料二维码为例,无代码平台提供活码、表单、计划管理等功能,助力快速搭建各类应用系统,使每个人都能成为开发者。
|
4月前
|
JSON Go C++
开发与运维C++问题之在iLogtail新架构中在C++主程序中新增插件的概念如何解决
开发与运维C++问题之在iLogtail新架构中在C++主程序中新增插件的概念如何解决
43 1
|
4月前
|
JSON 监控 数据格式
开发与运维函数问题之iLogtail原有架构中配置文件组织存在问题如何解决
开发与运维函数问题之iLogtail原有架构中配置文件组织存在问题如何解决
41 1
|
4月前
|
设计模式 运维
开发与运维应用问题之没有注释的代码如何解决
开发与运维应用问题之没有注释的代码如何解决
|
6月前
自动化脚本之4G模块配置
自动化脚本之4G模块配置
70 0
|
6月前
|
前端开发 安全 开发工具
前端场景的代码部署方式都有那些?
【4月更文挑战第17天】本文分析了四种常见的前端代码部署方式:FTP/SFTP、Git、Docker和云服务平台部署。FTP/SFTP简单易用但效率低;Git提供版本控制,适合自动化部署,但有学习成本;Docker确保环境一致性,高效扩展,但较复杂;云服务平台弹性伸缩,高可用,但可能产生依赖和成本。选择部署方式应综合考虑项目需求、技术能力和成本。
170 0
|
运维 5G Go
Go或者C中调用Lua业务脚本,实现终端应用的热更新方案
Go或者C中调用Lua业务脚本,实现终端应用的热更新方案
|
SQL 测试技术 数据库
组件测试-复杂业务系统的单测解决方案
本文的目的长久以来,码农们有一种默契的共识,只有写的好的代码才能写单测,代码的可测性也因此成为了评判好代码的一个标准。但是,同学有没有想过,我们手里有多少是写的好的代码,很多情况下,我们接手的代码都是又长又臭的“面条代码”,难道我们就不能对这些应用写单测了吗?难道这些应用不是更需要单测的保障吗?在本文中,我将使用一种全新的单测解决方案,通过这个方案,再复杂的应用也能简单的实现单测覆盖,保障我们的业
组件测试-复杂业务系统的单测解决方案
|
BI 数据处理 Scala
报表统计_执行框架_旧模块改造 | 学习笔记
快速学习报表统计_执行框架_旧模块改造
113 0
报表统计_执行框架_旧模块改造 | 学习笔记