【问题标题】:Error handing with .GOTO in bteq in teradata在 teradata 的 bteq 中使用 .GOTO 处理错误
【发布时间】:2015-12-06 17:16:10
【问题描述】:

在我的 bteq 中,我不小心写了错误的 LABEL 名称,因为 bteq 完成时带有如下警告,因此没有数据加载到表中。

  .IF ACTIVITYCOUNT=1 THEN .GOTO LABEL DELETETBL
 .GOTO LABEL DELETETBL
  *** Warning: Extra text found after command.
          The text 'DELETETBL' not processed (ignored).

我需要解决方案来处理上述情况,并且 bteq 在出现这种警告后应该会失败。 RETCANCEL 在这里不起作用。

【问题讨论】:

  • 你不使用.GOTO LABEL <label name>。这是.GOTO <labelname>
  • 对的安德鲁。在这种情况下,我希望 bteq 以 errorcode0 完成,在 15.0 中这将给出错误而不是警告,但我想为 14.0 的 bteq 中的此类错误添加一些检查点
  • 你是说你想在 BTEQ 中想出某种方法来处理语法错误?
  • No 如果有任何语法错误,只想让 bteq 失败。
  • 我不认为你可以这样做,我不明白你为什么要这样做。测试您的代码,如果您有语法错误,请修复它们。

标签: sql teradata


【解决方案1】:

从 unix 脚本调用 bteq 并可能检查返回码? 4是TD中警告的返回码。

【讨论】:

  • 或 Windows 中的批处理文件(以及其他选项)。 $? 将在大多数 UNIX shell 中返回最后一个命令的退出代码,%ERRORLEVEL% 将在 Windows 批处理文件中返回相同的代码。
猜你喜欢
  • 2018-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-26
  • 2018-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多