Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304411
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站网址导航为大家提供关于数据库教程相关的教程网站知识。

浅谈PL/SQL批处理数据库语句:BULK COLLECT与FORALL对网站seo优化做出的贡献XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

存储过程和存储函数指存储在网站数据库中供所有用户程序调用的子程序叫存储过程、存储函数。
存储过程没有返回值。存储函数有返回值

创建存储过程
用CREATE PROCEDURE开始执行命令建立存储过程和存储函数。

语法:
create [or replace] PROCEDURE过程名(参数列表)
AS
PLSQL子程序体;

存储过程示例:为指定的职工在原工资的基础上长10%的工资

/*
为指定的职工在原工资的基础上长10%的工资,并打印工资前和工资后的工资
*/
SQL> create or replace procedure raiseSalary(empid in number)
as
pSal emp.sal%type;--保存员工当前 工资
begin
--查询该员工的工资
select sal into pSal from emp where empno=empid;
--给该员工涨工资
update emp set sal = sal*1.1 where empno=empid;
--打印涨工资前后的工资
dbms_output.put_line('员工号:' || empid || '涨工资前
' || psal || '涨工资后' || psal*1.1);
end;
1 /

Procedure created
--存储过程调用
--具体相关方法一
SQL> set serveroutput on
SQL> exec raisesalary(7369);

员工号:7369涨工资前
800涨工资后880

具体相关方法二
set serveroutput on
begin
raisesalary(7369);
end;
/

PL/SQL procedure successfully completed


存储函数
函数(Function)为一命名的存储程序,可带参数,并返回一计算值。函数和过程的结构类似,但必须有一个RETURN子句,用于返回函数值。函数说明要指定函数名、结果值的类型,以及参数类型等。

建立存储函数的语法:

CREATE [OR REPLACE] FUNCTION函数名(参数列表)
RETURN 函数值类型
AS
PLSQL子程序体;


示例:查询某职工的年收入。
SQL> /**/
/*
查询某职工的总收入
*/
create or replace function queryEmpSalary(empid in number)
return number
as
pSal number; --定义变量保存员工的工资
pComm number; --定义变量保存员工的奖金
begin
select sal,comm into psal,pcomm from emp where empno = empid;
return psal*12 nvl(pcomm,0);
end;
/

Function created

l 函数的调用

SQL> declare
v_sal number;
begin
v_sal:=queryEmpSalary(7934);
dbms_output.put_line('salary is:'|| v_sal);
end;
/

salary is:15600

PL/SQL procedure successfully completed

SQL> begin
dbms_output.put_line('salary is:'|| queryEmpSalary(7934));
end;
/

salary is:15600

PL/SQL procedure successfully completed


触发器
网站数据库触发器是一个与表相关联的、存储的PL/SQL程序。每当一个特定的数据操作办法数据库语句(Insert,update,delete)在指定的表上发出时,Oracle自动地执行触发器中定义的数据库语句序列。

触发器的类型
数据库语句级触发器
在指定的操作办法数据库语句操作办法之前或之后执行一次,不管这条数据库语句影响了多少行。

行级触发器(FOR EACh ROW)
触发数据库语句作用的每一条记录都被触发。在行级触发器中使用old和new伪记录变量,识别值的状态。

创建触发器
CREATE [or REPLACE] TRIGGER 触发器名
{BEFORE | AFTER}
{DELETE | INSERT | UPDATE [OF列名]}
ON 表名
[FOR EACh ROW [WhEN(条件) ] ]
PLSQL 块

示例1:限制非工作时间向网站数据库插入数据
SQL> create or replace
trigger securityEmp
before insert on emp
declare
begin
if to_char(sysdate,'day')in('星期四','星期六','星期日')
or to_number(to_char(sysdate,'hh24'))not between 8 and 18 then
raise_application_error(-20001,'不能在非工作时间插入数据。');
end if;
end;
/

Trigger created

触发数据库语句与伪记录变量的值

XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

触发数据库语句XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

:oldXFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

:newXFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

InsertXFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

所有字段都是空(null)XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

将要插入的数据XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

UpdateXFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

更新以前该行的值XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

更新后的值XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

deleteXFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

删除以前该行的值XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

所有字段都是空(null)XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

示例2:确认数据(检查emp表中sal的修改值不低于原值)
SQL> create or replace trigger checkSal
before update of sal on emp
for each row
declare
begin
if :new.sal<:old.sal then
raise_application_error(-20001,'更新后的薪水比更新前小');
end if;
end;
/

Trigger created
运行后结果:
SQL> update emp set sal=260 where empno=7499;

update emp set sal=260 where empno=7499

ORA-20001: 更新后的薪水比更新前小
ORA-06512: 在 "SCOTT.ChECKSAL", line 4
ORA-04088: 触发器 'SCOTT.ChECKSAL'执行过程中出错

触发器总结
触发器可用于
• 数据确认
• 实施复杂的安全性检查
• 做审计,跟踪表上所做的数据操作办法等

查询触发器、过程及函数
• Select * from user_triggers;
• Select * from user_source;
XFYAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

关于数据库教程相关的教程网站知识今天我们就说到这里了,希望可以帮到大家。

标签:

分享到:

  网友投稿

注册时间:

网站:0 个   APP:0 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304411

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市