我在db2中有一个表,它有一个varchar列。我想在列中只插入小写字符串。
只要在该列中发生插入,就可以将案例更改为更低。什么是改变 如果可能,请查询?
我不能创建另一个可以引用我当前列的列,并像ucase(Current_column)一样引用
答案 0 :(得分:0)
确保插入到列中的数据的下限的效果的方法,即“以便在该列中发生插入时将案例更改为更低”,这是一种触发器。
大概很像Why is my “before update” trigger changing unexpected columns?,每次在对OP的后续评论中都注意到“我尝试过进行插入”,类似于以下内容的触发器显然已经实现了尝试:
CREATE TRIGGER TOLOWER_BI BEFORE INSERT ON USERS
REFERENCING NEW AS N OLD AS O FOR EACH ROW MODE DB2ROW
set N.LoginId= lcase(N.LoginId)
如果是这样,那么必须解释“应用程序没有选择触发器”[也从后续注释到OP],因为TRIGGER在数据库层生效,例如应用程序没有选择[没有选择]关于强制执行的触发器的效果。