我正在尝试从 shell 脚本触发 sqoop import 命令。它按预期工作正常。
但是,如果假设 Teradata 中缺少数据库,那么它需要抛出错误,并且不应继续处理脚本中的进一步命令。
由于语法正确,sqoop import 命令返回“0”,并且假设 sqoop import 命令成功。
即使 Teradata 中缺少数据库,如何处理 shell 脚本中的此类错误?
答案1
这可以帮助您检查数据库是否存在和/或表,以及 bteq 是否以 1 退出而不继续加载。
bteq << eof
select 1 from DBC.TablesV
where databasename = 'YOUR_DB';
--and TableName = 'YOUR_TABLE'; --Could add and table here.
.if activitycount = 0 then .quit 1
.quit 0
eof