netezza 中的表名别名
Posted
技术标签:
【中文标题】netezza 中的表名别名【英文标题】:Table name alias in netezza 【发布时间】:2014-06-02 15:17:01 【问题描述】:我在 netezza SQL 中使用以下命令来定义表名别名,同时通过命令行 NZSQL 运行查询
\set catgtable 'table_a'
\echo table name is :catgtable
我在需要的地方使用表名别名 catgtable,如下所示:
select *
from :catgtable where col1 is not NULL
我的问题是这两种情况下如何使用别名:
select ':catgtable' as table_name, col1,col2
from table_x
这给了我一个错误,因为它需要实际的表名。
select table_name, column_name
from _v_sys_columns
where table_name = ':catgtable' and column_name like '%merch_cat_%'
这里又是别名:catgtable
不起作用,它需要实际的表名。
如果有解决方法,请告诉我。
【问题讨论】:
【参考方案1】:如果您想在 nzsql 中将变量的内容用作文字,则需要在设置变量时在文字文本周围包含一组额外的单引号,并用反斜杠转义。
TESTDB.ADMIN(ADMIN)=> \set tvar '\'BLAH\''
TESTDB.ADMIN(ADMIN)=> select :tvar col_alias;
COL_ALIAS
-----------
BLAH
(1 row)
【讨论】:
以上是关于netezza 中的表名别名的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 从 Netezza 中的表列表中获取记录计数