重命名表以避免缓存问题的最佳方法?

问题描述 投票:0回答:1

我一直在尝试将 Redshift 数据库的 SQLWorkbench 中的表从“基金绩效”重命名为 Fund_performance。我尝试过的命令是:

alter table schemaname."fund performance"
rename to fund_performance; 

我收到一条消息,命令执行成功,但表名没有改变。 然后我尝试复制该表以这种方式重命名。我用过

#CREATE TABLE fund_performance LIKE "schema_name.fund performance";
CREATE TABLE fund_performance AS SELECT * FROM schema_name."fund performance";

在这两种情况下,我还收到一条消息,表明语句执行成功,但表名没有更改。有人有什么想法吗?我收到回复说这可能是 SQL Workbench 的缓存问题。

sql amazon-web-services amazon-redshift ddl quoted-identifier
1个回答
1
投票

使用以下方法可能对您有用

SELECT * into schema_name.fund_performance FROM schema_name.[fund performance]

它将通过创建新表作为fund_performance来复制数据,但不会创建任何约束和身份

在不影响现有约束的情况下重命名特定表

EXEC sp_rename 'schema_name.[fund performance]', 'schema_name.fund_performance';
© www.soinside.com 2019 - 2024. All rights reserved.