인터넷에서 도움을 받아이 쉘 스크립트를 bash로 실행했습니다. 문자열과 같은 열 값을 찾습니다. SQL의 맛에 따라 WHERE LEN(column_value) = 7
확실히 실행하는 데 시간이 걸릴 수 있습니다. 실제로 완료되기 전에 DB에 잠금이 생성되었습니다.
HTH
#!/bin/sh
#
# search.sh
DB=$1
STRING=$2
if [ "$DB" == "" -o "$STRING" == "" ]
then
echo "usage:"
echo " alltextsearch DB STRING"
exit 2
fi
sql $DB <<!EOT! | grep \| | grep -v '^|col1'
DECLARE GLOBAL TEMPORARY TABLE SESSION.gen_sql (
sql_command varchar(500)
)
ON COMMIT PRESERVE ROWS
WITH NORECOVERY;
\g
INSERT INTO SESSION.gen_sql
SELECT 'SELECT ''OWNER.TABLE.COLUMN'',''VALUE''\g'
\g
INSERT INTO SESSION.gen_sql
SELECT SQUEEZE(
'SELECT '''
+table_owner+'.'+table_name+'.'+column_name+''','
+column_name
+' FROM '+table_owner+'.'+table_name
+' WHERE '+column_name+' LIKE ''%$STRING%'' \g')
FROM iicolumns
WHERE column_datatype IN ('C','CHAR','TEXT','VARCHAR','NCHAR','NVARCHAR')
\g
COPY SESSION.gen_sql(sql_command= CHAR(0)nl)
INTO 'temp.sql';
\g
\i temp.sql
!EOT!