我一直在尝试将 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 的缓存问题。
使用以下方法可能对您有用
SELECT * into schema_name.fund_performance FROM schema_name.[fund performance]
它将通过创建新表作为fund_performance来复制数据,但不会创建任何约束和身份
在不影响现有约束的情况下重命名特定表
EXEC sp_rename 'schema_name.[fund performance]', 'schema_name.fund_performance';