系统运维.数据库.修改字段数据类型

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

系统运维.数据库.修改字段数据类型

【应用场景】BOSIDE设置文本字段长度时,最大长度不能超过2000,如何绕开此限制,将该文本字段长度设置为无限制(nvarchar(max))?

【案例演示】采购订单,新增一个多行文本字段,通过SQL脚本将该字段[F_JAC_REMARKS1 ]调整为nvarchar(max)

连接数据库,执行以下SQL:

-- 调整字段的数据类型

DECLARE @DefaultValueConstraintName SYSNAME

DECLARE @TableName NVARCHAR(500)

DECLARE @ColumnName NVARCHAR(500)

-- TODO

-- 设置要修改的字段对应的表名

SET @TableName = 'T_PUR_POORDER'

-- 设置要修改的字段名

SET @ColumnName = 'F_JAC_REMARKS1'

-- TODO

SELECT @DefaultValueConstraintName=o.name

FROM sys.columns AS c

JOIN sys.objects AS o ON c.default_object_id = o.[object_id]

WHERE c.[object_id] = object_id(@TableName)

AND c.name = 'F_JAC_REMARKS1'

IF LEN(@DefaultValueConstraintName)>0  

EXEC('ALTER TABLE ' + @TableName + ' DROP CONSTRAINT [' + @DefaultValueConstraintName + ']')

-- 调整字段的数据类型

EXEC('ALTER TABLE ' + @TableName + ' ALTER COLUMN ' + @ColumnName + ' NVARCHAR(MAX)')

-- 重新设置字段的默认值

EXEC('ALTER TABLE ' + @TableName + ' ADD DEFAULT ('''') FOR ' + @ColumnName)

GO

------------------------------------------------------------------------------------------------





执行前字段类型:

执行后字段类型:


【注意】此方式仅适用于SQL Server数据库。













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

系统运维.数据库.修改字段数据类型

【应用场景】BOSIDE设置文本字段长度时,最大长度不能超过2000,如何绕开此限制,将该文本字段长度设置为无限制(nvarchar(max))?【案...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息