问题标签 [table-rename]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
828 浏览

android - 当其他表有外键时更改sqlite中的列名

我有一个名为groups的表,我想重命名其中的一列。到目前为止还可以。我知道sqlite不支持重命名列,所以我做了:

但是,当我删除表tmp_groups时,具有外键的表membersON DELETE CASCADE也删除了其记录,因此我必须执行以下操作:

  1. 创建一个表tmp_members与成员相同的列,并且没有外键;
  2. tmp_members中插入来自成员的记录;
  3. 删除表成员
  4. 运行第一部分的代码(使用表);
  5. 使用其外键重新创建表成员;
  6. 从tmp_members插入成员数据;

伙计,那很累!简单地重命名列的代码太多;

有没有更简单的方法来处理这个约束问题,或者这是“sqlite 方式”?

0 投票
2 回答
1904 浏览

postgresql - 如何通过下划线前缀重命名 PostgreSQL 表?

我有一个依赖于 PostgreSQL 系统的数据库,我正在维护它,所以我想更改表和整体方案。为此,我想重命名旧表,以便它们有一个下划线作为前缀。但这不起作用:

查询结果如下:

注意:表“_my_table”不存在,跳过错误:
类型“_my_table”已经存在
**********错误**********

错误:类型“_my_table”已存在 SQL 状态:42710

'_my_table' 表是一个假名,但是通过实际创建一个 '_my_table' 表并运行上面的相同脚本会重现此错误。

我正在使用 pgAdmin III 访问数据库表并使用它的“重命名”操作会导致相同的错误。alter table 方法的 postgresql 文档没有明确告诉我这个特殊问题:http ://www.postgresql.org/docs/9.3/static/sql-altertable.html

我真的需要使用像' backup '这样的前缀而不是'_'吗?或者是否可以重命名它,我唯一的兴趣是维护表中的信息,同时对表名进行最小的更改。

0 投票
1 回答
119 浏览

sql-server - SQL Server 重命名具有约束的表

我所处的非常简单的困境。

基本上我有四个表,它们带有主键/外键和类似这样的级联约束。

它已经到了我需要重命名原始表的地步。我过去曾使用sp_rename oldTableName, newTableName但不使用具有主要、外部和级联约束的表来重命名表。

重命名表是否足够安全,sp_rename或者我应该从头开始创建表,复制数据然后删除旧表?

0 投票
1 回答
11518 浏览

sql - 重命名 Oracle 表

ALTER TABLE RENAME 语句和 RENAME TABLE 语句有什么区别。

即,介于

0 投票
1 回答
658 浏览

vba - Need a VBA code. rename sheets from list

Need a VBA code. rename sheets from list

I have a list of names in sheet 2 cell w3 thru w22. I need to name sheets/tabs 3 thur 22 from the the list of names. The names change. and if no name in w3 thru w22. I want the tabs to be numbered 1 thru 20 Any Ideas?

0 投票
1 回答
4219 浏览

sql-server - 表的重命名会导致索引重建吗?

问题已经在标题中,但我会尝试在这里提供一些背景。

我有一个myTable正在通过 nHibernate 从 Web 应用程序查询的表。它包含 500K 行。时不时地(假设每 15 分钟)我需要刷新此表内容,即删除所有内容并插入另外 500K 行(可能不同)。

免责声明:是的,我知道这不是正确的架构:-) 不过,无论如何我都需要了解这种行为。

由于插入大约需要 60 秒,这就是我这样做的方式:

  1. 将 500K 行插入myTable_backup
  2. 重命名myTablemyTable_temp
  3. 重命名myTable_backupmyTable
  4. 重命名myTable_tempmyTable_backup

第 2-4 点旨在快速换桌,因此myTable几乎总是可用的。

尽管我的意图是最好的,但我在尝试访问时遇到了 SQL 超时myTable——这或多或少地发生在执行“重命名”的时候。

我的问题是:为什么?

会不会,myTable因为 500K 插入导致索引仍在其上重建,所以它不可用?尽管它已经设法更改了名称,但仍在进行后台重新索引?

如果是这样,是否可以myTable_backup在第 1 点和第 2 点之间显式执行重建索引,有帮助吗?

但随后又弹出另一个问题,这是我对本文的官方问题:第 3 点)是否重命名myTable_backupmyTable导致索引重建?这对我来说似乎是一个奇怪的想法,但是它可以解释我的超时(索引重建大约需要 10 秒)。

你能帮忙吗?如果您不知道答案,也许您可​​以建议如何找出答案?

谢谢,PKD

0 投票
1 回答
830 浏览

sql - 重命名内部连接并将其用于后续的内部连接

所以我有三张桌子。

我想写一个查询,提取那些已经被那些写了超​​过 10 条评论的用户评论过的企业的business.ids 和s。business.name

我考虑过在whereuserreview条件下进行内部连接。这将在仅选择属于已撰写超过 10 条评论的用户的那些之后对上述表格执行内部联接。接下来我想对这个新表和表进行一次内连接,条件是,前一次对review和user进行内连接得到的表在哪里。user.id = review.user_iduser.id in (select id from user where review_count > 10)user.idbusinessbusiness.id = new_table.business_idnew_table

我了解我的重命名语法可能存在问题。

我收到语法错误:Error: near "where": syntax error。我正在使用 sqlite3。

这是我到目前为止所拥有的。

0 投票
1 回答
1146 浏览

alter-table - 你如何重命名netezza中的列,看起来像 - '?column?'?

如何重命名 netezza 表中看起来像“?COLUMN?”的列。我已经尝试了上面的alter table,但没有奏效。

0 投票
1 回答
269 浏览

oracle - 重命名时的 Oracle 12C 审计触发器

我有一个用于源代码控制的审计触发器,我们跟踪所有 oracle (12c) 对象修改。如何在重命名中获取“新”对象名称(无论是通过“alter”还是“rename”)?无论我是在“ALTER 或 RENAME 或 DDL ON DATABASE”之前还是之后触发触发器,我都会在 ORA_DICT_OBJ_NAME 中看到“旧”名称。

0 投票
4 回答
2330 浏览

sql-server - sql server存储过程检查其他数据库中是否存在表并重命名

有 2 个数据库:MAIN 和 IP2LOCATION

在 MAIN 中,我有以下存储过程:

不能正常工作:

如果 db11_new 不存在,它(正确)创建它,但如果它存在..我得到

数据库中已经有一个名为“db11_new”的对象。

因此似乎有什么问题

并且在使用 2 Rename 的程序结束时,我(总是)得到以下答案

消息 15248,级别 11,状态 1,过程 sp_rename,第 359 行参数 @objname 不明确或声明的 @objtype (OBJECT) 错误。

似乎问题是因为存储过程没有存储到 ip2location 数据库中,而是存储在另一个数据库中。

可以提出一个解决方案,考虑到我更愿意将所有存储过程保留在 MAIN DB 中,因为所有其他存储过程都在那里?

谢谢