`set line 230 pagesize 5000 select owner || '.' || table_name ||',' as text from dba_tables where owner in ( 'LS6_ACCT_WH', 'LS65_ACCT_YC', 'LS65_ACCT_EZ', 'LS65_ACCT_SZ', 'LS65_ACCT_XG', 'LS65_ACCT_SY', 'LS65_ACCT_XF', 'LS65_ACCT_ES', 'LS65_ACCT_SNJ', 'LS65_ACCT_JZ', 'LS65_ACCT_HG', 'LS65_ACCT_XN', 'LS65_ACCT_JM', 'LS65_ACCT_HS', 'LS65_ACCT_XT', 'LS65_ACCT_TM', 'LS65_ACCT_QJ', 'LS65_ACCTM_MVNO' )
时间: 2023-10-18 11:04:34 浏览: 43
这是一条SQL查询语句,用于从Oracle数据库中的dba_tables视图中检索指定表所有者和表名,并按照指定格式返回结果。其中:
- set line 230:设置每行的最大字符数为230
- pagesize 5000:设置每页最多显示5000行数据
- select owner || '.' || table_name ||',' as text:查询dba_tables视图中指定表的所有者和表名,并将它们连接起来,用"."作为分隔符,再加上一个逗号,作为查询结果的别名为text。
- where owner in ('LS6_ACCT_WH', 'LS65_ACCT_YC', 'LS65_ACCT_EZ', 'LS65_ACCT_SZ', 'LS65_ACCT_XG', 'LS65_ACCT_SY', 'LS65_ACCT_XF', 'LS65_ACCT_ES', 'LS65_ACCT_SNJ', 'LS65_ACCT_JZ', 'LS65_ACCT_HG', 'LS65_ACCT_XN', 'LS65_ACCT_JM', 'LS65_ACCT_HS', 'LS65_ACCT_XT', 'LS65_ACCT_TM', 'LS65_ACCT_QJ', 'LS65_ACCTM_MVNO'):筛选出指定所有者的表,其中"in"表示所有者可以是列表中的任意一个名称。
执行这个SQL查询语句会返回指定表的所有者和表名的列表,每行最多显示230个字符,每页最多显示5000行,格式为"owner.table_name,"。
相关问题
#!/bin/bash table='v\$sql' log="./tmp/shell/oracle_log.txt" if [ -e $log ] then rm -f $log fi su - oracle -c "sqlplus -S qgtg/qgtg << END set linesize 500 set pagesize 100 set term off verify off feedback off tab off set numwidth 5 set space 0 set colsep ' | ' column sql_text format a20 column module format a10 column parsing_schema_name format a20 SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY LAST_LOAD_TIME DESC) NUMS,SQL_TEXT,FIRST_LOAD_TIME,LAST_LOAD_TIME,PARSING_SCHEMA_NAME,MODULE FROM $table WHERE TO_DATE(LAST_LOAD_TIME,'YYYY-MM-DD hh24:mi:ss') > TRUNC(SYSDATE-1) ORDER BY LAST_LOAD_TIME DESC) WHERE NUMS < 100; quit; END" >> ./tmp/shell/oracle_log.txt if [ ! -e $log ]; then echo "failed" exit 1 fi echo "successed"解释一下脚本
这个脚本是一个 Bash 脚本,主要功能是连接 Oracle 数据库,查询最近一天内执行过的 SQL 语句,并将查询结果写入日志文件。具体解释如下:
1. `table='v\$sql'`:定义了一个变量 `table`,存储了要查询的表名,这里使用了转义字符 `$`,因为 `$` 符号在 Bash 中有特殊含义,需要转义。
2. `log="./tmp/shell/oracle_log.txt"`:定义了一个变量 `log`,存储了日志文件的路径。
3. `if [ -e $log ]`:判断日志文件是否存在,如果存在则删除。
4. `su - oracle -c "sqlplus ..."`:切换到 Oracle 用户,执行 SQLPLUS 命令,查询数据库,并将查询结果追加到日志文件中。
5. `if [ ! -e $log ]; then ...`:如果日志文件不存在,则输出 `failed`,并退出脚本。
6. `echo "successed"`:输出 `successed`,表示脚本执行成功。
总的来说,这个脚本实现了一个比较简单的数据库查询功能,并将结果写入日志文件,适用于一些简单的数据处理和分析任务。
SET_PRINT_PAGESIZE
SET_PRINT_PAGESIZE是LODOP打印控件中的一个函数,用于设置打印纸张的大小。在引用\[1\]中的代码中,LODOP.SET_PRINT_PAGESIZE(1,600,400,"")的意思是将打印纸张的大小设置为宽度600像素,高度400像素。其中,参数1表示纸张类型为自定义大小,""表示纸张名称为空。这样设置后,打印输出的内容将适应这个纸张大小进行打印。
#### 引用[.reference_title]
- *1* *2* *3* [Lodop云打印控件使用](https://blog.csdn.net/shark_pang/article/details/82839765)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]