У меня много файлов SQL Teradata (пример кода одного из этих файлов ниже).Bash - метод проверки строк
create multiset volatile table abc_mountain_peak as(
select
a.kkpp_nip as nip,
from BM_RETABLE_BATOK.EDETON a
) with data on commit preserve rows;
create multiset table qazxsw_asd_1 as (
select
a.address_id,
from DE30T_BIOLOB.HGG994P_ABS_ADDRESS_TRE a,
) with data on commit preserve rows;
create multiset volatile table xyz_sea_depth as(
select
a.trip,
from tele_line_tryt a
) with data on commit preserve rows;
CREATE multiset table wsxzaq_zxc_2 AS (
SELECT
a.bend_data
FROM lokl_station a ,
) WITH data on commit preserve rows;
CREATE multiset table rfvbgt_ttuop_3 AS (
SELECT
a.heret_bini
FROM fvgty_blumion a ,
) WITH data on commit preserve rows;
DROP qazxsw_asd_1;
DROP wsxzaq_zxc_2;
.EXIT
Что мне нужно сделать, это создать сценарий (Баш), которые могли бы проверить, если MultiSet таблицы отбрасываются. Там созданы два вида таблиц:
- MultiSet таблицы нестабильного (которые не должны быть опущены), и
- MultiSet таблицы (которые должны быть опущены)
В моем примере кода, 2 из 3 многомножественных таблиц отбрасываются (что правильно), а один из них не является (что неверно). Есть ли у вас какие-либо идеи о том, как создать скрипт, который мог бы подтвердить что-то подобное (предоставить информацию, что одна таблица или некоторые таблицы не удалены)? Я действительно начинаю в bash. Моя идея (может быть неправильной) состоит в том, чтобы создать массив, содержащий имена таблиц мультимножества (но не многосетевые летучие таблицы), а затем создать еще одну таблицу с «drop» и именами упавших таблиц и окончательно проверить, есть ли каждая таблица из первого массива также находится во втором массиве. Что вы думаете? Любая помощь будет с благодарностью оценена.
Какую версию Bash вы используете? Я спрашиваю, потому что ассоциативный массив таблиц может быть хорошим решением, но для этого вам нужна версия bash 4. – cdarke
GNU bash, версия 4.1.2 (1) -release (x86_64-redhat-linux-gnu) – euro