【发布时间】:2020-04-21 03:30:05
【问题描述】:
完全忘记了如何正确执行,可能也忘记了正确的术语。
长内联输入(我认为这就是它的名称),使用 Teradata bteq 作为示例客户端读取标准输入(与 Oracle sql*plus 或 Sybase isql 等相同) - 所以这几乎可以是任何东西。
bteq <<!
select sql_column1
`if [ "$mode" == "mode1" ]; then`
, sql_column2
`fi`
, sql_column3
from table1
;
!
如果模式是“mode1”,我输出 3 个 sql_columns,否则输出 2 个。现在,想象这是一个非常大的输入,所以这些条件操作非常方便。 我很确定我以前做过这个,但是 covid-19 完全刷新了我的记忆。 使用这种语法,我得到:第 xx 行的语法错误:`then' unmatched。
我该如何正确地做到这一点,以及我在这里所说的正确的 Unix 术语是什么 a) 内联输入; b) 内联条件?
【问题讨论】:
-
术语是“这里的文档”。