当我在sql server中运行下面提到的DDL时,我收到的错误是:
"警告!聚簇索引的最大密钥长度为900字节。 索引' TBL_MyTable'最大长度为1278字节。对于一些 结合大值,插入/更新操作将失败。"
只是想知道如何解决此错误?
感谢。
BEGIN
DECLARE @constraint_name nvarchar(256)
DECLARE @table_name nvarchar(256)
DECLARE @col_name nvarchar(256)
SET @table_name = N'TBL_MyTable'
SET @col_name = N'myDate'
SELECT @constraint_name = CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
where TABLE_NAME = @table_name AND COLUMN_NAME = @col_name
IF @constraint_name IS NOT NULL
BEGIN
EXEC('ALTER TABLE [dbo].['+ @table_name +'] DROP CONSTRAINT ' + @constraint_name);
END
EXEC('ALTER TABLE [dbo].['+ @table_name +'] ALTER COLUMN myDate DATE NOT NULL');
EXEC('ALTER TABLE [dbo].['+ @table_name +'] ADD CONSTRAINT
[PK_TBL_MyTable]
Primary Key
( column1,
myDate,
column2,
column3,
column4,
column5,
column6)')
END