#!/bin/bash
2 t2val=$(cat /home/trnid | tr '\n' ',' | sed 's/,$//')
3 sqlplus -s <username>/<passwd>@dbname > /home/file << EOF
4 set echo on
5 set pagesize 0
6 set verify off
7 set lines 32000
8 set trimspool on
9 set feedback off
10 SELECT *
FROM <dbname>.<tablename1> tr
LEFT JOIN <tablename2> t2 ON t2.id2 = tr.id1
LEFT JOIN <tablename3> t3 ON t3.id2 = tr.id1
LEFT JOIN <tablename4> t4 ON t4.id2 = tr.id1
WHERE tr.TIMESTAMP > SYSDATE - 75 / 1440
AND tr.TIMESTAMP <= SYSDATE - 15 / 1440
and t2.value in ( "t2val")
order by timestamp;
26 exit;
27 EOF
trnid file has total of 32000 lines (each number on separate line). The length of each number is 11 digits.
Я просто вижу разные ошибки:
Ввод усечен до 7499 символов SP2-0027: слишком длинный ввод (> 2499 символов) - строка игнорируется Ввод усечен до 7499 символов SP2-0027:Ввод слишком длинный (> 2499 символов) - строка игнорируется.
Предыдущая ошибка, которую я получил, потому что я вставил числа в файл trnid, разделенные запятыми и в другую строку.В этом случае я использовал только команду:
t2val=$(cat /home/trnid )