标签:style comm 基本 cut命令 bsp not pac 存储 解释
被内容来自《oracle从入门到精通——明日科技》一书
存储过程是一种命名的PL/SQL程序快,存储过程被保存在数据库中,它不可以被SQL语句直接执行或调用,只能通过EXECUT命令执行或在PL/SQL程序快中内部调用。由于存储过程是已经编译好的代码,所以在被调用或引用时,其执行效率非常高。
使用关键字create、procedure,关键字后面时过程名字和参数列表,其基本语法如下:
create [or replace] procedure pro_name [(parameter1 [,parameter2]...)] is|as
begin
plsql_sentences;
[exception]
[dowith_sentences;]
end [pro_name];
1.1.1.pro_name:存储过程的名字。如果数据库存在该名字,可以加上or replace ,这样新的存储过程就会覆盖掉原来已经存在的存储过程。
1.1.2.parameter1:存储过程的参数。如果输入参数则需要在后面使用in关键字,如果输出参参数则在后面使用out关键字。in和out关键字后面时参数的类型,不能指定参数类型的长度。
1.1.3.plsql_sentences:PL/SQL语句。它是存储过程实现的主体。
1.1.4.dowith_sentences:异常处理语句。也是PL/SQL语句,可以没有。
1.1.5.在创建存储过程中IS关键字也可以用AS代替,效果是一样的。
假如有一个表:
create teble user(
name varchar2(20) not null,
address varchar2(100) not null
)tablespace low_data;
下面创建一个存储过程,向表user插入数据:
create procedure add_data_to_user is
begin
insert into user (name,address) values (‘tony‘,‘shanghai‘);--插入数据的sql语句,存储过程的实体
commit;--提交事务
dbms_output_line(‘新插入数据成功!‘);--插入数据成功返回的信息提示,可以没有
end add_data_to_user;
上面的存储过程为:向表user插入一条记录,存储过程的名字是add_data_to_user。如果在当前模式下数据库已经存在名为add_data_to_user的存储过程,则使用or replace关键字创建,如下:
create or replace procedure add_data_to_user is
begin
insert into user (name,address) values (‘simth‘,‘beijing‘);--插入数据的sql语句,存储过程的实体
commit;--提交事务
dbms_output_line(‘新插入数据成功!‘);--插入数据成功返回的信息提示,可以没有
end add_data_to_user;
这样就会覆盖之前创建的同名的存储过程。如果不存在则为直接创建名为add_data_to_user的存储过程。
如果创建的过程中出现的错误,用户可以使用‘show error‘命令查看错误信息。
上面的存储过程主体inert语句仅仅是被编译了,并没有执行,下面说一下如何执行。
在SQL*Plus环境下,执行存储过程使用关键字execute命令执行存储过程的名字即可,语句如下:
execute add_data_to_user;
在PL/SQL中执行存储过程语句为:
begin
add_data_to_user;
end;
2.1
标签:style comm 基本 cut命令 bsp not pac 存储 解释
原文地址:https://www.cnblogs.com/whx20100101/p/10127960.html