1.格式
--1.程序块结构
declare
--申明部分
begin
--执行部分
end;
2.写一个空的程序块
--1.程序块结构
declare
--申明部分
begin
--执行部分
null;
end;
在控制台输出【hello world】
--2.简单的程序输入
DECLARE
--申明部分
BEGIN
--执行部分
dbms_output.put_line('hello world');
END;
3.定义变量 变量赋值 变量是可变的
--已知长度求周长
DECLARE
--申明部分
v_long number;
v_wide number;
v_perimeter number;
BEGIN
--执行部分
v_long:=5;
v_wide:4;
v_perimeter:=(v_long*v_wide)*2
--输出到控制台
dbms_output.put_line('v_perimeter =' || v_perimeter);
END;
--申明变量的时候可以直接赋值,赋初始值
DECLARE
--申明部分
v_long number:=5;
v_wide number:4;
v_perimeter number;
BEGIN
--执行部分
v_perimeter:=(v_long*v_wide)*2
--输出到控制台
dbms_output.put_line('v_perimeter =' || v_perimeter);
END;
变量是可变的
DECLARE
--申明部分
v_long number :=5;
v_wide number:4;
v_perimeter number;
BEGIN
--执行部分
v_long:=8;--改变v_long的值
dbms_output.put_line('v_long =' || v_long);--输出v_long的值
v_perimeter:=(v_long*v_wide)*2
--输出到控制台
dbms_output.put_line('v_perimeter =' || v_perimeter);--||是拼接的意思
END;
4.定义常量constant 常量赋值 常量是不可变的,必须赋初始值
--4定义常量constant 常量赋值 常量是不可变的,必须赋初始值
--已知半径求直径
declare
v_pi constant number:=3.14;
v_r number :=3;
v_area number;
BEGIN
--执行部分
v_area:=v_pi*v_r*v_r;
dbms_output.put_line('v_area =' || v_area);--||是拼接的意思
END;
5.字符/日期数据类型的变量
declare
--申明部分
v_name VARIANCE2(30):='lisi';
v_date date:=sysdate;
begin
--执行部分
v_date:=to_date('20240422','yyyymmdd')
dbms_output.put_line('v_date =' || v_date);--||是拼接的意思
dbms_output.put_line('v_name =' || v_name);--||是拼接的意思
end;
6.隐式游标及其特性--只能返回一行数据,返回多行数据或者没有数据返回会报错
语法:select into(表里面的某个字段的某个值放到变量里)文章来源:https://www.toymoban.com/news/detail-860761.html
--隐式游标及其特性--只能返回一行数据,返回多行数据或者没有数据返回会报错
--语法 select INTO(不能直接执行select into)
declare
--申明部分
v_name varchar2(30);
v_sal number;
BEGIN
--执行部分
select ename,sal into v_name,v_sal from emp where emp=100;
dbms_output.put_line('v_name =' || v_name);
dbms_output.put_line('v_sal =' || v_sal);
dbms_output.put_line('姓名:' || v_name|| v_sal);
END;
--特性1.:返回多行数据会报错
declare
--申明部分
v_name varchar2(30);
v_sal number;
BEGIN
--执行部分
select ename,sal into v_name,v_sal from emp ;
dbms_output.put_line('姓名:' || v_name|| v_sal);
END;
--特性2:没有数据返回会报错
declare
--申明部分
v_name varchar2(30);
v_sal number;
BEGIN
--执行部分
select ename,sal into v_name,v_sal from emp where v_name='o' ;
dbms_output.put_line('姓名:' || v_name|| v_sal);
END;
--防止报错---加聚合函数
declare
--申明部分
v_name varchar2(30);
v_sal number;
BEGIN
--执行部分
select max(ename),max(sal) into v_name,v_sal from emp ;
dbms_output.put_line('姓名:' || v_name|| v_sal);
END;
7.%type / %rowtype 定义数据类型文章来源地址https://www.toymoban.com/news/detail-860761.html
7.%type / %rowtype 定义数据类型
--%type:引用数据库中的某一列的数据类型或者某一个变量的数据类型
declare
--申明部分
v_name emp.ename%type;
BEGIN
--执行部分
select ename into v_name from emp where emp=100;
dbms_output.put_line('v_name =' || v_name);
END;
--%rowtype:引用数据库中的一行(所有字段)作为数据类型
declare
--申明部分
v_all emp%rowtype;
BEGIN
--执行部分
select ename into v_all.ename,v_all.sal from emp where emp=100;
dbms_output.put_line(v_all.ename|| v_all.sal );
END;
到了这里,关于oracle_申明与赋值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!