oracle程序设计

输出hello world

declare
-- 变量声明部分
begin
-- 执行部分
DBMS_OUTPUT.PUT_LINE('hello world');
end;

定义变量

declare
-- 变量声明部分
v_long number;
v_width number;
v_perimeter number;
begin
-- 执行部分
v_long :=5;
v_width :=6;
v_area :=(v_long+v_width)*2;
DBMS_OUTPUT.PUT_LINE('v_perimeter='||v_perimeter);
end;

定义常量 constant 常量赋值,常量是不可变的

declare
-- 变量声明部分
v_pi constant number:=3.14;
v_r number :=3;
v_area number;
begin
-- 执行部分
v_area :=v_r * v_r * v_pi;
DBMS_OUTPUT.PUT_LINE('v_area='||v_area);
end;

字符日期类型变量

declare
-- 变量声明部分
v_name varchar2(20) :='章三';
v_date date :=sysdate;
begin
-- 执行部分
DBMS_OUTPUT.PUT_LINE('v_name='||v_name);
DBMS_OUTPUT.PUT_LINE('v_date='||v_date);
end;

隐式游标及其特性

declare
-- 变量声明部分
v_name varchar2(20);
v_saly number;
begin
-- 执行部分
select ename into v_name from emp where rownum='1';
select sal into v_saly from emp where rownum='1';
DBMS_OUTPUT.PUT_LINE('v_name='||v_name);
DBMS_OUTPUT.PUT_LINE('v_saly='||v_saly);
end;

1.返回多行时,会报错
2.不返回数据也会报错(可以添加聚合函数)

%type或者%rowtype定义数据类型

引用数据库中的某列或者某个变量的数据类型

declare
-- 变量声明部分
v_name emp.ename%type;
begin
-- 执行部分
select ename into v_name from emp where rownum='1';
DBMS_OUTPUT.PUT_LINE('v_name='||v_name);
end;

declare
-- 变量声明部分
v_row emp%rowtype;
begin
-- 执行部分
select ename,sal into v_row.v_name,v_row.v_sal from emp where rownum='1';
DBMS_OUTPUT.PUT_LINE('v_row.v_name='||v_row.v_name);
DBMS_OUTPUT.PUT_LINE('v_row.v_sal='||v_row.v_sal);
end;
posted @ 2022-07-31 15:51  King-DA  阅读(32)  评论(0)    收藏  举报