问题描述
我需要为 Netezza 中的不同表创建单个动态选择查询。
我使用以下查询获取任何表的列列表:
选择* 来自 _V_SYS_COLUMNS 其中 TABLE_NAME='表名'
但我需要附加所有以逗号分隔的“Column_Name”列的值并将其存储到一个变量中:
var= col1,col2,....
然后我将在选择查询中传递这个“var”以针对不同的表运行它。
注意:我不能使用 Select * 因为不需要所有的列。
解决方法
$ COLUMNS=`nzsql -A -t -c "select column_name from _v_sys_columns where table_name = 'NZ_CHECK_DISK_SCAN_SPEEDS';" -R "," | sed -e "s/,$//"`
$ echo "$COLUMNS"
THE_DATASLICE,THE_EXTENT,THE_PAGE,THE_ROW,FILLER1,FILLER2