标签:begin end 数据库 number replace another Oracle create
1.触发器语法
create [or replace] tigger 触发器名 触发时间 触发事件
on 表名
[for each row]
begin
pl/sql语句
end
实例:创建自增长字段
create or replace trigger test_id
before insert on another --before:执行DML等操作之前触发
for each row --行级触发器
begin
select testsq.nextval into :new.epl_id from dual;
end;
2.存储过程语法
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
实例:
create or replace procedure up_another(v_empid in number)
as
v_large number;
begin
v_large:=2;
update another set salary=v_large*salary where epl_id=v_empid;
end up_another;
调用:
begin
up_another(103);
end up_nother;
3.创建自增序列
create sequence testsq
increment by 1
start with 1
maxvalue 7
cycle
nocache
4.存储函数
--查询某个员工的年收入
create or replace function queryempincome(eno in number)
return number
as
--月薪和奖金
psal emp.sal%type;
pcomm emp.comm%type;
begin
select sal,comm into psal,pcomm from emp where empno=eno;
--返回年收入
return psal*12+nvl(pcomm,0);
end;
调用:
declare
sal_yeats number(9,2);
begin
sal_yeats := queryempincome(7369);
dbms_output.put_line(sal_yeats);
end;
标签:begin,end,数据库,number,replace,another,Oracle,create 来源: https://www.cnblogs.com/liaozili/p/10503716.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。