SELECT SWAP_PARTITIONS_BETWEEN_TABLES
(':SCHEMA_NAME.:TABLE_NAME',:PARTITION_KEY,:PARTITION_KEY,
':SCHEMA_NAME.:TABLE_NAME');
这是 sql 文件中的一个 vertica 查询,
:SCHEMA_NAME
并且:TABLE_NAME
在 sql 文件中没有被传递的参数替换,可能是因为单引号
试试这个:
\set source '''src_schema.src_table'''
\set target '''tgt_schema.tgt_table'''
SELECT SWAP_PARTITIONS_BETWEEN_TABLES
(:source,:PARTITION_KEY,:PARTITION_KEY,:target);
如果您想为 SCHEMA 和 TABLE 使用不同的变量,您可以:
\set schema '''myschema'''
\set table '''mytable'''
进而:
SELECT SWAP_PARTITIONS_BETWEEN_TABLES
(:schema||'.'||:table,:PARTITION_KEY,...);