oracle学习之(PL/SQL)
PL/SQL
PL/SQL的结构
DECLARE
/**
声明部分:在此声明PL/SQL用到的变量,类型,游标,以及局部的存储过程和函数
*/
BEGIN
/**
执行部分:过程以及SQL语句,即程序的主要部分
*/
EXCEPTION
/**
异常部分:错误处理
*/
END;
输出helloworld
begin
dbms_output.put_line('hello world');
end;
查询固定的数据放到定义的变量中并打印
declare
v_xm varchar(200);
begin
select xm into v_xm from aq_czy where czyid='BUSOPER1';
dbms_output.put_line(v_xm);
end;
查询用户的薪水并打印
declare
-- v_sal number(8, 2) := 0;
-- v_emp_id number(10);
--- v_email varchar2(20);
-- v_hiredate date;
type emp_record is record(
v_sal number(8, 2) := 0,
v_emp_id number(10),
v_email varchar2(20),
v_hiredate date
);
v_emp_record emp_record;
begin
select salary, employee_id, email, hire_date
-- into v_sal, v_emp_id, v_email, v_hiredate
into v_emp_record
from employees
where employee_id = '203';
dbms_output.put_line('employee_id:' || v_emp_record.v_emp_id || 'salary:' || v_emp_record.v_sal ||
'email:' || v_emp_record.v_email || 'hire_date:' || v_emp_record.v_hiredate);
end;
%type
declare
-- type salary_record is record(
-- v_name varchar2(20),
-- v_salary number(10, 2));
--%type 动态获取数据类型
type salary_record is record(
v_name employees.first_name%type,
v_salary employees.salary%type);
v_sal_record salary_record;
begin
v_sal_record.v_name := '刘德华';
v_sal_record.v_salary := '12000';
dbms_output.put_line('name:' || v_sal_record.v_name || 'salary:' ||
v_sal_record.v_salary);
end;
%rowtype
declare
v_sal_record employees%rowtype;
begin
select * into v_sal_record from employees where employee_id='203';
dbms_output.put_line('name:' || v_sal_record.first_name || 'salary:' ||
v_sal_record.salary);
end;
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/15704408.html

浙公网安备 33010602011771号