create or replace trigger emp_trig
before insert or update of salary on emp
for each row
when `REGEXP_LIKE(:new.job_id, 'ac*','i')` -- Here
BEGIN
IF inserting then
:new.commission_pct := 0.20;
elsif (:old.commission_pct is null) then
:new.commission_pct := 0.1;
END IF;
END;
0
A
回答
0
嘿。如果你正在嘗試做一個簡單的比賽,那就避免使用Regular 表達式。取而代之的是LIKE和你的測試條件。在 下面的代碼片段舉例說明了一個足以滿足您的要求的簡單示例。希望 它有助於
CREATE OR REPLACE TRIGGER emp_trig before
INSERT OR
UPDATE OF sal ON emp FOR EACH row
WHEN (new.job LIKE '%TEST%')
DECLARE
BEGIN
IF inserting THEN
:new.comm := 0.20;
elsif (:old.comm IS NULL) THEN
:new.comm := 0.1;
END IF;
END;
1
create or replace trigger emp_trig
before insert or update of salary on emp
for each row
when (REGEXP_LIKE(new.job_id, 'ac*','i'))
BEGIN
IF inserting then
:new.commission_pct := 0.20;
elsif (:old.commission_pct is null) then
:new.commission_pct := 0.1;
END IF;
END;
/
+0
是的,我解決了它。感謝大家........ –
相關問題
- 1. CREATE TRIGGER INSERT WHEN(條件)DB2後
- 2. 在DROOLS的WHEN條件中使用OR
- 3. 在when條件中使用「In」
- 4. 如何在merge語句的`when`子句中使用條件?
- 5. 如何在CASE語句中使用REGEXP_LIKE?
- 6. 如何用WHEN指定ELSE條件?
- 7. 在CASE ... WHEN語句中使用多個條件... MySQL中的WHEN語句
- 8. 如何在Systemd單元配置條件下使用'when'
- 9. 帶IF條件的MYSQL TRIGGER
- 10. 多個WHEN條件?
- 11. 如何使用Sqlite CASE WHEN添加更多條件?
- 12. CREATE TRIGGER隨着Derby中的條件
- 13. 如何在DataColumn.Expression中使用CASE WHEN?
- 14. 如何在MAX中使用GROUP_CONCAT(CASE WHEN ...)?
- 15. 如何在node.js中使用$ .when?
- 16. 如何使用'WHEN'條件在laravel查詢生成器中添加括號?
- 17. 無法在觸發器中使用子查詢WHEN條件postgresql
- 18. 如何在SQL Server中有多個條件CASE WHEN?
- 19. 如何在postgresql查詢中嵌入case-when條件
- 20. 如何在linq中做一個「case when」條件?
- 21. SQL Server中有條件的「WHEN」句子
- 22. 如何使用regexp_like(...'[^ \ _...] $)過濾結果?
- 23. 檢查使用REGEXP_LIKE
- 24. 如何使用CASE WHEN SQL
- 25. 觸發多個WHEN條件
- 26. 在舊式連接中使用REGEXP_LIKE
- 27. MySQL`BEFORE INSERT TRIGGER`如何在條件下跳過數據插入?
- 28. Oracle:使用REGEXP_LIKE的SQL
- 29. Oracle中的REGEXP_LIKE
- 30. SQLAlchemy中的REGEXP_LIKE
請使用代碼問一個問題,當格式化 - 這使得它更清晰的人能夠快速查看和了解你的代碼和問題。 – Erica