Oracle 存储过程—为数传递变量
副标题[/!--empirenews.page--]
oracle 存储过程的基本语法 示例: create or replace procedure sp_name ( begin end; -- 存储过程结束 --1. 语句块的定义 declare -- 变量声明 var1 number(2); -- 仅声明 var2 char(2) := ‘var2‘; -- 在声明的同时初始化 begin -- 语句 end; -- 语句块结束 --2. if语句 ? if a = 1 or b = 2 then elsif c = 3 then else end if; ? ? ? ? ? --3.? case分支控制语句 这里的dbms_output.put_line() 是输出的方法,在dos里需要在这之前输入set serveroutput on;才会输出相应的信息 ? declare num number(10) := 11; begin case when num = 10 then dbms_output.put_line( ‘我是10‘); when num = 11 then dbms_output.put_line( ‘我是11‘); else dbms_output.put_line( ‘我不知道我是谁了‘); end case; case num when 0 then dbms_output.put_line( ‘我是10‘); when 1 then dbms_output.put_line( ‘我是11‘); else dbms_output.put_line( ‘我不知道我是谁了‘); end case; end; ? ? ? ? ? --4. for 循环? --4.1、 循环一个范围 declare i number(2); begin for i in 0 .. 9 loop dbms_output.put_line(‘i:‘ || i); end loop; end; -- 4.2、遍历隐式游标 --隐式游标的好处是不需要手动关闭,方便 BEGIN FOR re IN (SELECT username FROM userinfo) LOOP DBMS_OUTPUT.PUT_LINE(re.username); END LOOP; END;
我这里创建了一个表userinfo, -- Create table创建表 create table userinfo ( id varchar2(32) not null,username varchar2(20),password varchar2(20),sex varchar2(2),sal number(20),insertdate date default sysdate ) ; -- Add comments to the columns comment on column userinfo.id is ‘id‘; comment on column userinfo.username is ‘用户名‘; comment on column userinfo.password is ‘密码‘; comment on column userinfo.sex is ‘性别‘; comment on column userinfo.sal is ‘工资‘; comment on column userinfo.insertdate is ‘插入时间‘; ? 2.1创建插入数据的存储过程并调用 ? CREATE OR REPLACE --创建存储过程,如果存在就更新,不存在就创建,插入一条数据 procedure proc_test(e_id in varchar,e_username in varchar,e_password in varchar,e_sex in varchar,e_sal in number) --这里的参数不要限定长度,否则会错误 is begin insert into userinfo (id,username,password,sex,sal) values (e_id,e_username,e_password,e_sex,e_sal); end; --调用1 DECLARE id varchar(32); username varchar(20); password varchar(20); sex varchar(2); sal number(20); BEGIN id := ‘asdfasdfa‘; username := ‘text11‘; password := ‘pas‘; sex := ‘男‘; sal := 2000; proc_test(e_id => id,e_username => username,e_password => password,e_sex => sex,e_sal =>sal); commit; END; select * from userinfo;--查看数据插入成功 ? ? ? ? ? (编辑:吉安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 华为手机耳机设置在何 华为手机耳机设置教程
- 美国十多所大学与Magic Leap合作,探索MR赋能教育学习
- 数字化如何影响地摊经济?其实地摊经营与数字化早已密不可分
- 华为开发者大会今日揭幕,EMUI 10.0系统将率先登场
- 首批HoloLens IVAS系统40219套,2021年交付美国陆军
- 网易港交所二次上市,能否伺机跻身互联网第一梯队?
- 午报 | ZARA母公司半年亏损15亿;董明珠说不希望奥克斯倒掉
- 外媒:软银和其他投资者拟向Uber自动驾驶部门投资10亿美元
- 谷歌宣布退出平板电脑领域 取消两款未发布产品
- Oracle Database - Overview of Database Patch Delivery M