从 _V_SYS_COLUMNS 表传递列名以在 Netezza 中创建动态选择查询

问题描述

我需要为 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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...