"String or binary data would be truncated" 在 DBCC CHECKIDENT 上
"String or binary data would be truncated" on DBCC CHECKIDENT
我在尝试重置身份时遇到 "String or binary data would be truncated" 错误。
Declare @tableNameWithSchema varchar(max)
SET @tableNameWithSchema = '[' + @table_schema + '].[' + @tablenamee + ']'
DBCC CHECKIDENT (@tableNameWithSchema, RESEED, 0)
你能帮我解决这个问题吗?
Declare @tableNameWithSchema varchar(max),@table_schema VARCHAR(100) = 'dbo',@tablename VARCHAR(100) = 'Your_TableName'
SET @tableNameWithSchema = '[' + @table_schema + '].[' + @tablename + ']'
DBCC CHECKIDENT (@tableNameWithSchema, RESEED,0)
通过反复试验,我发现了问题:DBCC CHECKIDENT
不接受 varchar(max)
。应该是varchar(100)
。虽然我不明白为什么MAX
是错误的。如果有人知道为什么,请告诉我们。
以下代码有效:
declare @tableNameWithSchema varchar(100)
SET @tableNameWithSchema = '[' + @table_schema + '].[' + @tablenamee + ']'
DBCC CHECKIDENT (@tableNameWithSchema, RESEED, 0)
我保留这个 post 以便它可能对其他人有用。
我在尝试重置身份时遇到 "String or binary data would be truncated" 错误。
Declare @tableNameWithSchema varchar(max)
SET @tableNameWithSchema = '[' + @table_schema + '].[' + @tablenamee + ']'
DBCC CHECKIDENT (@tableNameWithSchema, RESEED, 0)
你能帮我解决这个问题吗?
Declare @tableNameWithSchema varchar(max),@table_schema VARCHAR(100) = 'dbo',@tablename VARCHAR(100) = 'Your_TableName'
SET @tableNameWithSchema = '[' + @table_schema + '].[' + @tablename + ']'
DBCC CHECKIDENT (@tableNameWithSchema, RESEED,0)
通过反复试验,我发现了问题:DBCC CHECKIDENT
不接受 varchar(max)
。应该是varchar(100)
。虽然我不明白为什么MAX
是错误的。如果有人知道为什么,请告诉我们。
以下代码有效:
declare @tableNameWithSchema varchar(100)
SET @tableNameWithSchema = '[' + @table_schema + '].[' + @tablenamee + ']'
DBCC CHECKIDENT (@tableNameWithSchema, RESEED, 0)
我保留这个 post 以便它可能对其他人有用。