ORACLE 存储过程学习之路(持续更新)

1、简单公式

DECLARE 
	
BEGIN

END;

2、变量

DECLARE 
	长 NUMBER;
	宽 NUMBER;
	周长 NUMBER;
BEGIN
--变量赋值
	长:=3;
	宽:=4;
	--周长计算
	周长:=(长+宽)*2;
	--输出
	DBMS_OUTPUT.PUT_LINE('周长=:'||周长);
END;



--定义变量  变量名称用  V_  开头
DECLARE 
	V_LONG NUMBER;
	V_WIDE NUMBER;
	V_ZHOUCHANG NUMBER;
BEGIN
--变量赋值
	V_LONG:=3;
	V_WIDE:=4;
	--周长计算
	V_ZHOUCHANG:=(V_LONG+V_WIDE)*2;
	--输出
	DBMS_OUTPUT.PUT_LINE(V_ZHOUCHANG);
END;

 

 3.变量初始值

--定义变量可以赋初始值
DECLARE 
	V_LONG NUMBER:=3;
	V_WIDE NUMBER:=4;
	V_ZHOUCHANG NUMBER;
BEGIN
	--周长计算
	V_ZHOUCHANG:=(V_LONG+V_WIDE)*2;
	--输出
	DBMS_OUTPUT.PUT_LINE(V_ZHOUCHANG);
END;




--定义变量可以赋初始值,并且变量是可变的
DECLARE 
	V_LONG NUMBER:=3;
	V_WIDE NUMBER:=4;
	V_ZHOUCHANG NUMBER;
BEGIN
	V_LONG :=6;
	--周长计算
	V_ZHOUCHANG:=(V_LONG+V_WIDE)*2;
	--输出
	DBMS_OUTPUT.PUT_LINE(V_ZHOUCHANG);
END;

 

 4.CONSTANT常量定义

--CONSTANT常量定义  常量必须赋初始值,且常量不可变
DECLARE 
	V_LONG CONSTANT NUMBER:=3;
	V_WIDE NUMBER:=4;
	V_ZHOUCHANG NUMBER;
BEGIN
	--周长计算
	V_ZHOUCHANG:=(V_LONG+V_WIDE)*2;
	--输出
	DBMS_OUTPUT.PUT_LINE(V_ZHOUCHANG);
END;

 5.字符、日期变量

--字符(注:必须写出字段长度)、日期类型的变量  
DECLARE 
	V_NAME  VARCHAR2(30):= '张三';
	V_DATE  DATE := SYSDATE;
BEGIN
	--输出
	DBMS_OUTPUT.PUT_LINE(V_NAME);
END;

6.select into 隐式游标

-- select into 隐式游标 (表里面的某个字段的某个值取出来,放到变量里) 
DECLARE 
	V_NAME  VARCHAR2(100);
	V_ID NUMBER;
BEGIN
	SELECT ENAME,ID INTO  V_NAME,V_ID FROM TEST WHERE ID=1;
	DBMS_OUTPUT.PUT_LINE('输出V_NAME的内容  : '||V_NAME);
	DBMS_OUTPUT.PUT_LINE('输出V_ID的内容   : '||V_ID);
	DBMS_OUTPUT.PUT_LINE(V_NAME||'此处是拼接'||V_ID);
END;





-- 隐式游标特性:只能返回一条数据,返回多条或者没有数据都会报错。怎么防止报错:加聚合函数,但工作中不允许使用
DECLARE 
	V_NAME  VARCHAR2(100);
	V_ID NUMBER;
BEGIN
	SELECT MAX(ENAME),MAX(ID) INTO  V_NAME,V_ID FROM TEST;
	DBMS_OUTPUT.PUT_LINE(V_NAME);
	DBMS_OUTPUT.PUT_LINE(V_ID);
	DBMS_OUTPUT.PUT_LINE(V_NAME||'此处是拼接'||V_ID);
END;

 

 7、%type/%rowtype 定义数据类型   

--%type引用数据库中的某列数据类型或某个变量的数据类型   
--DECLARE  V_NAME 表名称.字段%type ;
DECLARE 
	V_NAME  TEST.ENAME%type;
BEGIN
	SELECT ENAME INTO  V_NAME FROM TEST WHERE ID=1;
	DBMS_OUTPUT.PUT_LINE(V_NAME);
END;



--%rowtype 引用数据库中的一行(所有字段)作为数据类型
--DECLARE  V_NAME 表名称%rowtype ;

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值