2017-08-08 42 views
1
SELECT SWAP_PARTITIONS_BETWEEN_TABLES 
(':SCHEMA_NAME.:TABLE_NAME',:PARTITION_KEY,:PARTITION_KEY, 
':SCHEMA_NAME.:TABLE_NAME'); 

这是SQL文件Vertica的查询 :SCHEMA_NAME,并在SQL文件:TABLE_NAME是没有得到由参数取代很可能获得通过,因为单引号的变量在单引号SQL文件

+0

会https://stackoverflow.com/questions/26349613/add-quotes-around-variable帮助吗? –

+0

只有一个变量在单引号 现在我需要2个变量连接在一个单引号@KalpaWelivitigoda – Swathi8038

+0

会像''''+:SCHEMA_NAME +''''+'。' +''''+:TABLE_NAME +''''工作?虽然我没有尝试。 –

回答

2

试试这个:

\set source '''src_schema.src_table''' 
\set target '''tgt_schema.tgt_table''' 
SELECT SWAP_PARTITIONS_BETWEEN_TABLES 
    (:source,:PARTITION_KEY,:PARTITION_KEY,:target); 

如果要使用不同的变量模式和表,您可以:

\set schema '''myschema''' 
\set table '''mytable''' 

然后:

SELECT SWAP_PARTITIONS_BETWEEN_TABLES 
    (:schema||'.'||:table,:PARTITION_KEY,...);