- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 sp_MSforeachtable 向每个表添加索引?它不断给出错误。
EXEC sp_MSforeachtable @precommand = 'declare @idx as char;',
@command1 = '
set @idx = ''idx_'' + ? + ''_modified_on'';
print @idx;
IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N''[dbo].[?]'') AND name = N''@idx'')
DROP INDEX [@idx] ON [dbo].[?]
CREATE NONCLUSTERED INDEX [@idx] ON [dbo].[?]
(
[modified_on] ASC
) ON [PRIMARY]
'
Msg 137, Level 15, State 1, Line 2
Must declare the scalar variable "@idx".
Msg 4104, Level 16, State 1, Line 3
The multi-part identifier "dbo.DIAG_contractAuditHistory" could not be bound.
EXEC sp_MSforeachtable @command1 = '
declare @idx as varchar(256);
set @idx = ''idx_'' + SUBSTRING(''?'', 8, len(''?'')-8) + ''_modified_on'';
print @idx;
IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N''?'') AND name = @idx )
DROP INDEX [@idx] ON ?
IF EXISTS (select * from sys.columns where object_id = OBJECT_ID(N''?'') and name = ''modified_on'')
CREATE NONCLUSTERED INDEX [@idx] ON ?
(
[modified_on] ASC
) ON [PRIMARY]
'
declare @cat as char;
set @cat='dog';
print @cat;
EXEC sp_MSforeachtable 'print ''idx_'' + SUBSTRING(''?'', 8, len(''?'')-8) + ''_modified_on'';'
EXEC sp_MSforeachtable 'print ''?'''
print substring('[dbo].[merchantNotes]', 8, (len('[dbo].[merchantNotes]')-9))
select * from sys.columns where object_id = OBJECT_ID(N'[dbo].[banks]') and name = 'modified_on'
SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'contractPaymentHistory') AND name = 'idx_contractPaymentHistory_modified_on'
Msg 1934, Level 16, State 1, Line 9 CREATE INDEX failed because the following SET options have incorrect settings: 'QUOTED_IDENTIFIER'. Verify that SET options are correct for use with indexed views and/or indexes on computed columns and/or filtered indexes and/or query notifications and/or XML data type methods and/or spatial index operations.
最佳答案
我从未尝试过使用 @precommand
之前,但如果您将该部分添加到 @command1
它应该工作。
第二个问题与您如何使用 ?
有关。 ,它实际上已经包含 dbo 架构。更换零件 OBJECT_ID(N''[dbo].[?]'')
来自 OBJECT_ID("?")
CREATE
也是如此和 DROP INDEX
声明。
编辑:
这段代码应该可以工作。
EXEC sp_MSforeachtable
'
declare @idx as char;
set @idx = ''idx_'' + "?" + ''_modified_on'';
IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID("?") AND name = N''@idx'')
DROP INDEX [@idx] ON ?
CREATE NONCLUSTERED INDEX [@idx] ON ?
(
[modified_on] ASC
) ON [PRIMARY]
'
关于sql - 如何使用 sp_MSforeachtable 执行多行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17241828/
我想打印一些动态查询来对数据库中的所有表执行一个过程。这就是我到目前为止所写的 - EXEC SP_MSFOREACHTABLE ' IF EXISTS(SELECT * FROM INFOR
如何使用 sp_MSforeachtable 向每个表添加索引?它不断给出错误。 EXEC sp_MSforeachtable @precommand = 'declare @idx as char;
我知道 sp_msforeachtable 允许对所有表执行查询。 我有 100 个表,我想对 97 个表执行相同的查询。 我正在使用此查询:EXEC sp_MSForEachTable "DELET
我想使用 sp_msforeachtable 对数据库中的某些表执行一些操作。我使用 IF 语句来过滤表。但它没有给我正确的答案。如以下脚本所示,我使用 AdventureWorks 进行测试。我想对
我打算列出我的数据库中所有没有记录的表。 与大多数时候我使用 SP_MSforeachtable 一样,例如: EXEC sys.sp_MSforeachtable 'if (select Count
是否有任何方法可以引用在“sp_msforeachdb”循环内运行的“sp_MSforeachtable”循环内的表? 例如,在以下查询中“?”始终引用数据库: DECLARE @cmd VARCHA
我正在尝试编写此查询来查找具有特定列和特定值的所有表。这就是我到目前为止所做的 - EXEC sp_MSforeachtable @command1=' IF EXISTS (SELECT * FRO
我正在使用 SSIS 将一些测试数据加载到我们的数据仓库中,并且遇到了外键约束的老问题。我将删除/添加所有数据以查找本地测试环境中的数据问题。因此,此时我不太关心参照完整性......我遇到了这个方便
我正在尝试使用the undocumented system procedure sp_MSforeachtable 。但我需要将受影响的表限制为以“smp”开头且位于“dbo”架构中的表。我能够找到
我正在尝试使用 .dacpac 发布 SQL Server 数据库并将配置文件发布到 Azure SQL 数据库。我们已经使用本地 SQL Server 很长一段时间了,没有出现任何问题,现在我们正在
当我尝试在表上重建索引时: ALTER INDEX ALL ON [dbo].[Allocations] REBUILD 效果很好。 但是当我打电话时 EXECUTE sp_msForEachTabl
我想分析我的数据库,并通过执行 "sp_MSforeachtable 'EXECUTE sp_spaceused [?];';" 将每个表的结果放入 MS Excel 工作表中。从 ADODB 命令或
我是一名优秀的程序员,十分优秀!