如何将此查询转换为触发器:
select concat (
categories.abreviation , '/' ,
to_char(date_op,'yy'),'/',
to_char(date_op,'mm'),'/',
trim(to_char(compteur_op_cat,'000'))
) as num_bord
from
operation op
inner join
categories on categories.id_cat=op.id_cat ;
在选择返回num_bord
列之前触发表操作。
出于某种原因,我需要一个触发器来连接num_bord
:
num_bord
我有num_op
和concat()
。LIKE
。答案 0 :(得分:0)
首先,您可以简化SELECT
。
select concat_ws ('/'
, c.abreviation
, to_char(date_op,'yy/mm')
, to_char(compteur_op_cat, 'FM000')
) AS num_bord
from operation o
join categories c USING (id_cat);
但SELECT"上没有"触发器。您可能正在寻找VIEW
或MATERIALIZED VIEW
。
LIKE
的效果关键是索引:
使用concat_ws()
,因为您要插入分隔符。
FM
修饰符可避免数字的前导空格。
除此之外:它是缩写,而不是 abreviation 。