【发布时间】:2016-04-17 09:40:57
【问题描述】:
我需要从 oracle 查询中读取 10 列的值并将其分配给 10 个 unix 变量。查询将只返回一条记录(行)。
我尝试在选择查询中使用分隔符 (;) 附加所有这些列,并将其分配给 unix 中的单个变量 (V)。我想我可以使用“cut”并将值分配给 V 中所有必需的 10 个变量。
但问题是某些列具有特殊性,我很难删减所需的细节。有时分隔符(;)本身存在于列值中。代码也很长。
有没有更好的方法将查询中的多个列值分配给 unix 变量?
此外,当我从查询中读取“-e”并将其传递给 unix 变量时,它变为“?e”。有没有办法解决这个问题。
谢谢。
【问题讨论】:
-
嗨@harish,你能证明你做了什么吗...?
-
嗨,安迪。我现在没有实际的代码。但是我做了这样的事情......... unix_var=( select 'c1=' ||c1||';'|| 'c2=' ||c2 ||... from table)。 . unix_var 现在将拥有所有列值的单行以及由 ';' 分隔的名称...我想将这些值分配给 10 个 unix 变量.. v1,v2,... v10