![](/img/trans.png)
[英]Oracle SQL: Can I combine columns from different tables into one table?
[英]Oracle SQL combine columns from one table
我正在使用 oracle sql 開發人員並希望構建一個觸發器以將值插入表列。
我的表是:
column1(num) | column2(num) | column3(var)
1 5
6 4
7 3
我想合並前兩列,所以最后 column3 應該是這樣的:
column3(var)
1_5
6_4
7_3
create or replace TRIGGER "Database"."TRIGGER"
BEFORE INSERT OR UPDATE ON "Database"."TABLE"
FOR EACH ROW
BEGIN
SELECT column1 || column2
INTO :NEW.column3
FROM TRIGGER;
END;
但是 column3 仍然是空的,有人能告訴我我做錯了什么嗎?
提前致謝
與其使用觸發器,不如在刪除現有列后添加一個虛擬列,例如
SQL> ALTER TABLE t DROP COLUMN col3;
SQL> ALTER TABLE t
ADD (
col3 AS (col1||'_'||col2)
);
這總是取決於這兩列,並且不允許任何 DML,已經不需要,它有利於顯示目的而不會干擾人為因素。
BEGIN
:NEW.column3 :=column1 || column2;
END;
將觸發器名稱稱為“Trigger”是個壞主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.