增删改 触发器 信息添加
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 搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。