create or replace procedure procedure_name --存储过程名字
(
--进行输入/输出的量 量_name in out 量_类型
--e.g.
username in varchar2,                                  --varchar2类型无需标明长度
id out number(38)
)
is/as
--基本认为is和as是一致的,但是略有区别,在这个部分进行变量和常量的声明       //类似PL/SQL语句块中的declare部分 --变量/常量_name (constant) 1.变量/常量_类型;
-- 2.table_name.col_name%type   //这个变量沿用这个表中的这个列的类型
-- 3._name                      //某个变量需要从外部传入,&**_name作为一个占位符
-- 4.自定义类型 //使用对象的概念理解
-- 5.table_name%rowtype --e.g.
--
i constant number:=5;
username varchar2(40);
--
username tb_user.username%type;
--
username varchar2:=&name;
--
type type_name is record
(
id number(38);
username varchar2(40);
);
type_obj type_name; --(将某行的部分需要的值放进去)使用的时候:select tb.id,tb.username into type_obj from tb_user tb
--
users tb_user%rowtype; --(将某行的值放进去)使用的时候:select * into users from tb_user where id='1'; --声明游标,获取查询语句的结果集(多行多列);   //游标申明中不要使用into子句 cursor cur_name is select col_name,col_name,, from table_name;
--e.g.
cursor temCur is select * from tb_user; begin
--放置sql语句和pl/sql语句块 --赋值
a:=b; --输出语句
dbms_output.put_line(''||''||''); --如果需要显示结果,set serveroutput on --sql语句
--增
insert into table_name(col_name,col_name,,)
values(val_val,val_val,,); --改
update table_name set col_name = val_val; --删
delete from table_name …… --游标
--1.显式游标
--2.隐式游标 select * into emp from table_name …… --打开游标
--open cur_name;
--将游标中的值赋值到某值中
--fetch cur_name into get_name,get_name,,;
--关闭游标
--close cur_name; --游标状态信息
--%isoipen //boolean
--%notfound //
--%found //
--%rowcount //目前为止,总行数 select col_name into temp_name from table_name --将表中的值(一行一列的值)取出放到这个“临时变量中” --循环
--1.
loop
***
exit when ***
end loop; --2.
while ***
loop
***
end loop; --3.
for index in[reverse] ***
loop
***
end loop; --判断
if *** then ***
elsif *** then ***
else ***
end if; --提交事务
commit; exception
--//异常处理
when too_many_rows then
***
when no_data_found then
***
*when others then
***
--rollback;
--commit
end procedure_name; --调用存储过程
exec pro_name(); /*
--使用循环获取游标数据
declare
-- 定义emp类型
emp employees%rowtype;
-- 定义一个游标:拿到所有员工
cursor my_corsor is select * from employees;
begin
-- 打开游标
open my_corsor;
--循环开始打印游标
loop
-- 移动光标并获取相应的数据
fetch my_corsor into emp;
-- 如果没有相应数据则离开
exit when my_corsor%notfound;
-- 没有离开代表有数据,则可以打印展示出来
dbms_output.put_line(emp.first_name||' '|| emp.salary);
end loop;
--关闭游标
close my_corsor;
end; --使用游标的for循环
PL/SQL语言提供了游标的for循环语句。
自动的执行游标的open,fetch和close。
当进入循环后,游标for循环语句会自动的打开游标,并提取第一行数据,
当程序处理完当前数据后,自动提取下一行数据。
当结果集中的内容提取完毕后,自动关闭游标。 格式:
FOR variables IN cursor_name(value,value...) LOOP
--处理语句
END LOOP; declare --定义一个游标:拿到所有员工
cursor my_corsor is select * from employees;
begin
--循环开始打印游标
for emp in my_corsor loop
-- 没有离开代表有数据,则可以打印展示出来
dbms_output.put_line(emp.first_name||' '|| emp.salary);
end loop;
end; */

Oracle存储过程_语法的更多相关文章

  1. Oracle存储过程基本语法介绍

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  2. Oracle存储过程基本语法 存储过程

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  3. Oracle存储过程基本语法

    一.形式 1 CREATE OR REPLACE PROCEDURE 存储过程名  //是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它; 2 IS   ...

  4. (转)Oracle存储过程基本语法

    本文转载自:http://www.cnblogs.com/hero4china/articles/base_rule_oracle_procedure.html 存储过程 1  CREATE OR R ...

  5. Oracle 存储过程_(收集)

    oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字(    参数1 IN NUMBER,    参数2 IN NUMBER) IS变量 ...

  6. Oracle存储过程常用语法及其使用

    1.什么是存储过程 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行.它可以接受参数.输出参数,并可以返回单个或多个 ...

  7. Oracle存储过程基本语法及基础教程

    存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE ...

  8. Oracle 存储过程简单语法

    一.无参数的存储过程 --创建存储过程create or replace procedure getdate as datetime varchar2(); begin select to_char( ...

  9. Oracle存储过程Procedure语法及案例

    create or replace procedure replace(desstr in varchar2, replacestr in varchar2, tablename in varchar ...

随机推荐

  1. xampp启动失败 Apache shutdown unexpectedly

    我知道是端口被我的虚拟机占用,但是我的虚拟机也要同时打开,所以 我需要修改xampp的端口 1, 2修改二个配置文件 修改httpd.conf 修改httpd-ssl.conf 4,重启xampp

  2. xml常用的error-page

    <error-page> <error-code>404</error-code> <location>/WEB-INF/jsp/errors/erro ...

  3. database lock

    USE masterEXEC sp_lock select * from sys.sysprocesses where blocked<>0 DBCC INPUTBUFFER(120) k ...

  4. tomcat启动(Ⅶ)请求处理--Processor.process(SocketWrapper<S> socketWrapper)

    tomcat启动(六)Catalina分析-StandardServer.start() 上一篇分析到:Http11NioProcessor.process(SocketWrapper<S> ...

  5. Go 开发

    0.参数传递永远是值传递,地址也是一种值 1.go 开发环境的配置 2.import 包的几种形式: 1)_,默认导入一个包时,会将包中内容导入再执行包中的init()方法,有时并不需要某个包,只是想 ...

  6. Docker运行操作系统环境(BusyBox&Alpine&Debian/Ubuntu&CentOS/Fedora)

    目前常用的Linux发行版主要包括Debian/Ubuntu系列和CentOS/Fedora系列.前者以自带软件包版本较新而出名:后者则宣称运行更稳定一些.选择哪个操作系统取决于读者的具体需求.同时, ...

  7. php的$GLOBALS例子

    <?php $test = "test"; function show1($abc){//直接把参数传入函数,函数能用 echo $abc.'<br>'; } f ...

  8. Memcached理解笔记3---Memcached使用总结

    为了将N个前端数据同步,通过Memcached完成数据打通,但带来了一些新问题: 使用iBatis整合了Memcached,iBatis针对每台server生成了唯一标识,导致同一份数据sql会产生不 ...

  9. Nginx+Memcached+Tomcat集群配置

    1.   Nginx Nginx是通过将多个Web Server绑定到同一个IP地址下,以实现多个WebServer间的负载均衡,降低单个Web Server的负荷,以提高整体的性能与稳定性. 安装和 ...

  10. JS事件细分

    鼠标相关事件执行顺序 与 onmousedown 事件相关连得事件发生次序( 鼠标左侧/中间 按钮): onmousedown onmouseup onclick 与 onmousedown 事件相关 ...