问题标签 [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.
sql - 为什么 SQL Server 不能更改存储过程中的视图?
我正在使用 MS SQL Server,我想通过执行类似“alter view VIEWNAME as ([some sql])”之类的东西来更改存储过程中的视图。
谷歌抛出的几页断言不直接支持这一点(相关的 alter-table 语句也不支持),但也有一些示例说明如何使用如下结构来解决它:
将代码编写为文字字符串有点味道,即使对于 SQL 也是如此。
我的问题:
- 为什么不支持这个?从 sproc 运行它和作为独立语句运行它有什么区别?
- 为什么通过
exec
ing 文字 SQL 字符串的解决方法有效?我对exec
语句的理解是,它只是内联执行 SQL,这是不正确的吗? - (不乐观)有没有更好的方法来从存储过程中更改视图?
sql-server - 如何在没有 SYSADMIN 权限的情况下更改链接服务器上的数据库?
我的要求是执行更改的用户不能是系统管理员(它可以拥有所有其他权限,但不是系统管理员)。
我正在从本地服务器运行查询,该查询应该修改远程服务器
一旦我向用户添加 sysadmin 权限但没有权限,此查询将起作用,它会给出以下错误:
我在 SQL 服务 2008 上。
请帮忙!
sql - 如何使用 ALTER TABLE 添加新列并使其唯一?
如何使用ALTER TABLE
添加新列并使其独一无二?
sql-server - 我可以在 SQL Server 的添加列语句中创建命名默认约束吗?
在 SQL Server 中,我在表上有一个新列:
这失败了,因为我在没有指定默认约束的情况下指定了 NOT NULL。该表不应有默认约束。
为了解决这个问题,我可以使用默认约束创建表,然后将其删除。
但是,似乎没有任何方法可以指定默认约束应命名为该语句的一部分,因此我摆脱它的唯一方法是拥有一个在 sys.default_constraints 中查找它的存储过程桌子。
对于可能经常发生的操作来说,这有点混乱/冗长。有没有人对此有更好的解决方案?
mysql - 如何更改超过 1 列的表列数据类型?
例如:
然而,上述方法不起作用。我正在使用 MySql 5.x
mysql - MySQL从表中删除所有索引
我有一个 MySQL 数据库,现在运行了一段时间,上面有很多变化。最近我查看了它,我注意到在某些情况下我将同一字段的索引翻了一番。缺少一些索引,通常所有索引中都存在巨大的混乱。
我想从表中删除所有索引。稍后我有一个准备好的脚本,它将运行ALTER TABLE
并添加相关索引。
有没有办法从表中删除所有索引?
c# - 来自客户端的 DB2 REORG TABLE 与 Migrator.NET
我将Migrator.NET与 DB2 数据库一起使用,并且我当前的迁移执行了一个ALTER TABLE
语句,这导致表进入“重组挂起状态”。这种状态需要重新组织表,> REORG TABLE TableName
然后我才能对其进行任何其他操作。
我试着用
数据库["DB2"].ExecuteNonQuery("REORG TABLE MyTable");
但它失败了,因为显然该REORG
命令只是服务器端的,不能从客户端调用。然后我尝试创建一个调用 REORG 语句的存储过程,但在使用正确的语法时遇到了困难。
任何人都可以提出解决这个问题的方法吗?
mysql - 在 MySQL 中重命名列时出错
如何重命名表中的列xyz
?这些列是:
我想重命名为manufacturerid
我尝试使用 PHPMyAdmin 面板,但出现此错误:
sql - 添加列的简单按钮
我在 ssms 2008 中右键单击我的表并选择 Script Table as / Drop and Create Table to new window 我尝试运行脚本但出现错误:
那么 Drop and Create 生成脚本的意义何在?
谢谢,
竿。
sql - 更改表中的 2 列 - 有风险的操作?
我在 MSSQL 服务器 2005 上有一个大约 100 列、大约 30M 行的表。
我需要更改 2 列 - 将它们的类型从 VARCHAR(1024) 更改为 VARCHAR(max)。这些列上没有索引。
我担心这样做会填满日志,并导致操作失败。如何估计此类操作所需的可用磁盘空间(包括数据和日志)以确保它不会失败?