SQL 服务器 sp_msforeachtable

SQL Server sp_msforeachtable

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

我想使用以下 SQL 查询在一个 table 中输出 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]%'' '

这会引发错误

String or binary data would be truncated

每个 table.

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

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

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