首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在触发器中填充非空字段?

问如何在触发器中填充非空字段?
EN

Stack Overflow用户
提问于 2011-07-27 00:57:53
回答 1查看 348关注 0票数 2

我使用的是Advantage Database Server 10。

我有一个包含两个字段的表:

FieldA字符串不为空FieldB字符串不为空

现在我需要一个触发器,它在插入新记录时用FieldA的值填充fieldB。

我的意图是通过以下代码使用"before insert“或"instead of insert”触发器:

代码语言:javascript
复制
UPDATE test set test2 = ( SELECT test1 FROM __new );

但是对于这两个触发器,我得到的错误是fieldB不能为空。那么,我如何用触发器填充一个带有非空约束的字段呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-27 18:02:24

恐怕你不能。

在执行触发器之前检查NOT NULL约束!

您必须解除约束,并确保INSERT和UPDATE触发器中的值不为null,以模拟所需的行为。

另一种解决方法是将字段test2的默认值设置为某个虚拟值(可以使用表编辑器或sp_ModifyFieldProperty完成)。

http://devzone.advantagedatabase.com/dz/WebHelp/Advantage10.1/index.html?master_sp_modifyfieldproperty.htm

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6833736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档