我有一个查询来更新或在firebird中插入数据,但是这个值来自于什么用户类型,所以我想创建一个模式,所有数据都是大写的。
有可能在火鸟2.5里做吗?
我的#1测试
"UPDATE OR INSERT INTO ENTIDADE_001 (CODCLI,NAME) VALUES UPPER('$erp_codcli','$erp_codcli')"
我的#2测试
"UPDATE OR INSERT INTO ENTIDADE_001 (CODCLI,NAME) VALUES UPPER(('$erp_codcli','$erp_codcli'))"
1条答案
按热度按时间j2datikz1#
update或insert语句的问题是它们在语法上不正确。这个
VALUES
子句获取值列表,并且UPPER(...)
不是值列表,请参阅的语法UPDATE OR INSERT
:其次,
UPPER
是一个只接受一个参数的函数。你的陈述的语法正确版本是:
然而,正如arioch在评论中所说的那样,像这样的字符串插值是不安全的,并且使您的代码容易受到sql注入的攻击。您应该使用参数化的prepared语句,并将值设置为参数。
关于如何创建触发器的问题,请参阅firebird触发器文档。一个简单的触发器示例是:
请参阅此dbfiddle以获取一个工作示例。