PL-SQL Syntaxes-Examples_Part2.txt
来源:互联网 发布:短信群发系统源码 编辑:程序博客网 时间:2024/05/17 19:18
11) Procedures
declare
procedure findarea(myrad number) is
area number;
begin
area:=3.14*myrad*myrad;
dbms_output.put_line('Area is '||area);
end;
begin
findarea(3);
end;
12) Functions.
declare
function findarea(myrad number) return number is
area number;
begin
area:=3.14*myrad*myrad;
return(area);
end;
begin
dbms_output.put_line('Area is '||findarea(3));
end;
13) Stored Procedures
create or replace procedure myproc(myrad number)
is
x number;
begin
x:=5;
x:=myrad*10;
dbms_output.put_line('The output is '||x);
end;
14) Execute Stored Procedures
exec myproc(10);
15) Stored Procedures without declarations.
create or replace procedure myproc(myrad number) is
begin
dbms_output.put_line('The output is '||myrad*10);
end;
16) Creation of triggers
create or replace trigger trig1
after insert
on tea1
for each row
begin
dbms_output.put_line('U have inserted one record');
end;
Trigger created.
17) Altering of triggers.
alter trigger trig1 disable;
21) Trigger for day.
create or replace trigger trig190
before insert
on emp
begin
if(to_char(sysdate,'DY')='FRI')
then
dbms_output.put_line('Sorry , not allowed on Friday');
end if;
end;
22) Raise Application Error.
create or replace trigger trig190
before insert
on emp
begin
if(to_char(sysdate,'DY')='FRI')
then
raise_application_error(-20200,'Not allowed');
end if;
end;
Trigger to prevent any person with A or a from getting inserted.
create or replace trigger trig_a
before insert
on emp
for each row
begin
if(:new.ename like 'A%' or :new.ename like 'a%')
then
raise_application_error(-20678,'U cannot insert with A');
end if;
end;
23) Granting execute permissions to Stored Procedures.
grant all on myproc to trng100;
24) User Records
declare
type myrecord is record
(
name emp.ename%TYPE,
salary emp.sal%TYPE
);
myr myrecord;
begin
select ename,sal into myr from emp where ename='ADAMS';
dbms_output.put_line(myr.name);
end;
25) PL/SQL tables
declare
type mytable is table of varchar(20)
index by binary_integer;
mt mytable;
begin
mt(1):='Software';
mt(2):='Hardware';
dbms_output.put_line(mt.count());
end;
26) Packages
create or replace package circle as
function area(radius number) return number;
function perimeter(radius number) return number;
end;
create or replace package body circle as
function area(radius number) return number is
begin
return(3.14*radius*radius);
end;
function perimeter(radius number) return number is
begin
return(2*3.14*radius);
end;
end;
begin
dbms_output.put_line(circle.area(10));
end;
28) Triggers for Audit Operations (Reference)
create table trigger_audit
(
serial_num number(10) primary key,
name varchar(10),
operation varchar(10),
trans_date date
);
Trigger for Auditing.
create or replace trigger trig1_audit
after insert or delete or update
on emp
declare
username varchar(20);
trans_time varchar(20);
status varchar(20);
begin
if(inserting)
then
status := 'INSERT';
end if;
if(updating)
then
status := 'UPDATE';
end if;
if(deleting)
then
status := 'DELETE';
end if;
select user into username from dual;
select to_char(sysdate,'dd-mon-yyyy') into trans_time from dual;
insert into trigger_audit
values(seq1_audit.nextval,username,status,trans_time);
end;
- PL-SQL Syntaxes-Examples_Part2.txt
- PL/SQL 快捷键,AutoReplace.txt汇总。
- Oracle PL/SQL导出数据为TXT
- 用pl/sql developer 将文本文件txt导入Oracle数据库
- 如何在pl/sql工具中设置autoreplace.txt
- PL/SQL将txt(csv)文件导入数据到oracle
- 如何将txt中的大数据通过PL/SQL导入数据库
- PL SQL
- pl/sql
- pl/sql
- PL/SQL
- pl/sql
- PL SQL
- PL/SQL
- PL/SQL
- pl/sql
- PL SQL
- PL/SQL
- 语言的学习(7)--函数
- PHP Knowledge 3
- ASP函数大全
- PHP Knowledge 4
- HelloWorld常见问题(Java初学)
- PL-SQL Syntaxes-Examples_Part2.txt
- asp正确显示日期代码
- PHP Knowledge 5
- 必须学会的几个网络测试命令
- some sql queries.
- PHP Knowledge 6
- 看blog,、想到XML,再想到搜索引擎
- PHP Knowledge 7
- PHP Knowledge 8