Oracle数据库的存储过程怎么写?

如题所述

Oracle存储过程基本语法:

CREATE OR REPLACE PROCEDURE å­˜å‚¨è¿‡ç¨‹å 
IS 
BEGIN 
NULL; 
END;

解释:

行1: 
CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它; 
行2: 
IS关键词表明后面将跟随一个PL/SQL体。 
行3: 
BEGIN关键词表明PL/SQL体的开始。 
行4: 
NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句; 
行5: 
END关键词表明PL/SQL体的结束。


温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-14
1 CREATE OR REPLACE PROCEDURE 存储过程名
  2 IS
  3 BEGIN
  4 NULL;
  5 END;
  
行1:
  CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;
行2:
  IS关键词表明后面将跟随一个PL/SQL体。
行3:
  BEGIN关键词表明PL/SQL体的开始。
行4:
  NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句;
行5:
  END关键词表明PL/SQL体的结束.
存储过程创建语法:
create or replace procedure 存储过程名(param1 in type,param2 out type)
as
变量1 类型(值范围); --vs_msgVARCHAR2(4000);
变量2 类型(值范围);
Begin
Select count(*) into 变量1 from 表A where列名=param1;

If (判断条件) then
Select 列名 into 变量2 from 表A where列名=param1;
Dbms_output。Put_line(‘打印信息’);
Elsif (判断条件) then
Dbms_output。Put_line(‘打印信息’);
Else
Raise 异常名(NO_DATA_FOUND);
End if;
Exception
When others then
Rollback;
End;本回答被提问者采纳
第2个回答  2011-11-08
CREATE OR REPLACE PROCEDURE 名称 (入参名1 in 类型1.....入参名n in 类型n) as 或者 is
begin
过程体

EXCEPTION
WHEN OTHERS THEN
异常处理,可以省略
end
第3个回答  推荐于2018-05-30
create or replace procedure (xxx)
is
xx
begin
xxx
end;
/
这个问题有人问过了,你可以搜一下的本回答被网友采纳
第4个回答  2018-02-23
create [or replace] pro_name [(parameter1[,parameter2]...)]is|as
begin
plsql_sentences;
[exception]
[dowith_sentences;]
end [pro_name];
pro_name:存储过程的名称;
parameter1:存储过程的参数,若是输入参数,则需要在其后指定‘in’关键字;
plsql_sentences:PL/SQL语句,它是存储过程功能实现的主体;
dowith_sentences:异常处理语句,也是PL/DQL语句,这是一个可选项;