SQL Server sp_msforeachtable

时间:2016-12-23 10:10:57

标签: sql-server tsql sp-msforeachtable

我在使用sp_msforeachtable SQL Server存储过程时遇到问题。

我希望使用以下SQL查询在一个表中输出EXECUTE语句:

TRUNCATE TABLE DaneOSpuscie --clear the table

EXEC sp_msforeachtable 
    'INSERT INTO [DaneOSpuscie] ([Database name], [Table name])
     SELECT  ''?'', name
     FROM [sys].[columns] 
     WHERE [sys].[columns].[name] LIKE ''%[Tt][aA][pP12]%'' '

这会抛出错误

  

字符串或二进制数据将被截断

每张桌子。

附加信息:表“DaneOSpuscie”只有两列:数据库名称,varchar类型的表名。

1 个答案:

答案 0 :(得分:0)

检查您的表格结构。 检查对象的最大长度。

比较它。将表中的列设置为实际最大长度或使用最大系统对象长度 - sysname = nvarchar(128)