问题标签 [alter-table]

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 回答
7616 浏览

sql - 为什么 SQL Server 不能更改存储过程中的视图?

我正在使用 MS SQL Server,我想通过执行类似“alter view VIEWNAME as ([some sql])”之类的东西来更改存储过程中的视图。

谷歌抛出的几页断言不直接支持这一点(相关的 alter-table 语句也不支持),但也有一些示例说明如何使用如下结构来解决它:

将代码编写为文字字符串有点味道,即使对于 SQL 也是如此。

我的问题:

  1. 为什么不支持这个?从 sproc 运行它和作为独立语句运行它有什么区别?
  2. 为什么通过execing 文字 SQL 字符串的解决方法有效?我对exec语句的理解是,它只是内联执行 SQL,这是不正确的吗?
  3. (不乐观)有没有更好的方法来从存储过程中更改视图?
0 投票
3 回答
3575 浏览

sql-server - 如何在没有 SYSADMIN 权限的情况下更改链接服务器上的数据库?

我的要求是执行更改的用户不能系统管理员(它可以拥有所有其他权限,但不是系统管理员)。

我正在从本地服务器运行查询,该查询应该修改远程服务器

一旦我向用户添加 sysadmin 权限但没有权限,此查询将起作用,它会给出以下错误:

我在 SQL 服务 2008 上。

请帮忙!

0 投票
4 回答
25770 浏览

sql - 如何使用 ALTER TABLE 添加新列并使其唯一?

如何使用ALTER TABLE添加新列并使其独一无二?

0 投票
5 回答
96980 浏览

sql-server - 我可以在 SQL Server 的添加列语句中创建命名默认约束吗?

在 SQL Server 中,我在表上有一个新列:

这失败了,因为我在没有指定默认约束的情况下指定了 NOT NULL。该表不应有默认约束。

为了解决这个问题,我可以使用默认约束创建表,然后将其删除。

但是,似乎没有任何方法可以指定默认约束应命名为该语句的一部分,因此我摆脱它的唯一方法是拥有一个在 sys.default_constraints 中查找它的存储过程桌子。

对于可能经常发生的操作来说,这有点混乱/冗长。有没有人对此有更好的解决方案?

0 投票
2 回答
118606 浏览

mysql - 如何更改超过 1 列的表列数据类型?

例如:

然而,上述方法不起作用。我正在使用 MySql 5.x

0 投票
4 回答
42081 浏览

mysql - MySQL从表中删除所有索引

我有一个 MySQL 数据库,现在运行了一段时间,上面有很多变化。最近我查看了它,我注意到在某些情况下我将同一字段的索引翻了一番。缺少一些索引,通常所有索引中都存在巨大的混乱。

我想从表中删除所有索引。稍后我有一个准备好的脚本,它将运行ALTER TABLE并添加相关索引。

有没有办法从表中删除所有索引?

0 投票
1 回答
864 浏览

c# - 来自客户端的 DB2 REORG TABLE 与 Migrator.NET

我将Migrator.NET与 DB2 数据库一起使用,并且我当前的迁移执行了一个ALTER TABLE语句,这导致表进入“重组挂起状态”。这种状态需要重新组织表,> REORG TABLE TableName然后我才能对其进行任何其他操作。

我试着用

数据库["DB2"].ExecuteNonQuery("REORG TABLE MyTable");

但它失败了,因为显然该REORG命令只是服务器端的,不能从客户端调用。然后我尝试创建一个调用 REORG 语句的存储过程,但在使用正确的语法时遇到了困难。

任何人都可以提出解决这个问题的方法吗?

0 投票
9 回答
561182 浏览

mysql - 在 MySQL 中重命名列时出错

如何重命名表中的列xyz?这些列是:

我想重命名为manufacturerid

我尝试使用 PHPMyAdmin 面板,但出现此错误:

0 投票
2 回答
92 浏览

sql - 添加列的简单按钮

我在 ssms 2008 中右键单击我的表并选择 Script Table as / Drop and Create Table to new window 我尝试运行脚本但出现错误:

那么 Drop and Create 生成脚本的意义何在?

谢谢,

竿。

0 投票
4 回答
207 浏览

sql - 更改表中的 2 列 - 有风险的操作?

我在 MSSQL 服务器 2005 上有一个大约 100 列、大约 30M 行的表。

我需要更改 2 列 - 将它们的类型从 VARCHAR(1024) 更改为 VARCHAR(max)。这些列上没有索引。

我担心这样做会填满日志,并导致操作失败。如何估计此类操作所需的可用磁盘空间(包括数据和日志)以确保它不会失败?