系统运维.数据库.修改字段数据类型
【应用场景】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
系统运维.数据库.修改字段数据类型
本文2024-09-23 04:20:52发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164719.html