LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

SQLSERVER修改字段长度语句如何避免反复执行?

freeflydom
2025年5月12日 10:5 本文热度 48
:SQLSERVER修改字段长度语句如何避免反复执行?

假设要修改workrep表的marker_remark1字段,修改前长度只有30,希望修改成255。

修改语句:

ALTER TABLE workrep ALTER COLUMN marker_remark1 nvarchar(255);

加上判断如果修改过就不再修改,避免重复执行:

IF EXISTS (SELECT syscolumns.name FROM syscolumns RIGHT OUTER JOIN sysobjects ON syscolumns.id = sysobjects.id WHERE (sysobjects.name='workrep') AND (syscolumns.name='marker_remark1') AND syscolumns.length <> 510) ALTER TABLE workrep ALTER COLUMN marker_remark1 nvarchar(255);

为什么查询是不等于510不是255?因为marker_remark1字段是nvarchar类型,所以查询长度时要255*2=510。

如果担心这种写法容易误解,可以换一个判断方法:

IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'workrep' AND COLUMN_NAME = 'marker_remark1' AND CHARACTER_MAXIMUM_LENGTH <> 255) ALTER TABLE workrep ALTER COLUMN marker_remark1 nvarchar(255);

​这种方法就保证查询和修改长度看起来一样,容易理解。


该文章在 2025/5/12 10:15:39 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved