增刪改 觸發器 資訊添加
create or replace TRIGGER hz_test_trigger
after insert or update or delete ON hz_test
FOR EACH ROW
declare
v_type HZ_TEST_LOG.L_TYPE%type;
begin
if inserting then
v_type:='insert';
insert into hz_test_log values(user,v_type,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),:new.t_id,:new.t_name,:new.t_age,:new.t_sex,SQE_HZ_TEST_LOG.nextval);
elsif updating then
v_type:='updateOld';
insert into hz_test_log values (user,v_type,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),:old.t_id,:old.t_name,:old.t_age,:old.t_sex,SQE_HZ_TEST_LOG.nextval);
v_type:='updateNew';
insert into hz_test_log values (user,v_type,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),:new.t_id,:new.t_name,:new.t_age,:new.t_sex,SQE_HZ_TEST_LOG.nextval);
elsif deleting then
v_type:='delete';
insert into hz_test_log values (user,v_type,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),:old.t_id,:old.t_name,:old.t_age,:old.t_sex,SQE_HZ_TEST_LOG.nextval);
end if;
end;
合并查詢保留表一和表二所有記錄,重複記錄只保留一條
select * from dbo.Meeting1
union
select * from dbo.Meeting2
合并查詢保留表一和表二所有記錄
select * from dbo.Meeting1
union all
select * from dbo.Meeting2
交並查詢只保留表一和表二的相同項記錄
select * from dbo.Meeting1
intersect
select * from dbo.Meeting2
交減查詢只保留表一多出表二的記錄
select * from dbo.Meeting1
except
select * from dbo.Meeting2
資料類型轉換:to_date('','YYYY-MM-DD HH24:MI:SS') to_number('') to_char('')
排序升/降序
select * from table order by column asc/desc
資料表聯合內串連
table1 inner join table2 on table1.Id=table2.Id
LEFT JOIN 或 LEFT OUTER JOIN。
左向外聯結的結果集包括 LEFT OUTER 子句中指定的左表的所有行,而不僅僅是聯結列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有挑選清單列均為空白值。
RIGHT JOIN 或 RIGHT OUTER JOIN。
右向外聯結是左向外聯結的反向聯結。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。
FULL JOIN 或 FULL OUTER JOIN。
完整外部聯結返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的挑選清單列包含空值。如果表之間有匹配行,則整個結果集行包含基表的資料值。
僅當至少有一個同屬於兩表的行符合聯結條件時,內聯結才返回行。內聯結消除與另一個表中的任何行不匹配的行。而外聯結會返回 FROM 子句中提到的至少一個表或視圖的所有行,只要這些行符合任何 WHERE 或 HAVING 搜尋條件。將檢索通過左向外聯結引用的左表的所有行,以及通過右向外聯結引用的右表的所有行。完整外部聯結中兩個表的所有行都將返回。