自学内容网 自学内容网

PL/SQL程序设计入门

PL/SQL

起步鼻祖:hello World

先举个例子,用PL/SQL打印输出hello world

declare
 v_string varchar2(20);
begin
    v_string:='hello world';
    dbms_output.put_line(v_string);-- 该语句为sql中的打印输出语句
end;

--开启屏幕打印:  set serveroutput on
--关闭打印服务:  set serveroutput off

语法分析

declare --声明部分: 定义变量、常量、游标、数据类型等
begin --执行部分 : 这是块的主要功能实现,该部分不能省略
exception–异常处理部分:程序中有可能出现的错误
end; --结束标志

声明部分

变量声明: variable_name [constant] datatype[:=value1|default value2];

数据类型(dataType):number,char,varchar2,date,boolean(true false null),lob (clob,blob);

标识符命名规则:通常以字母开头,最长不超过30个字符:v_   c_   rec_   cur_ ;

注:[ ]中的部分为可省略部分!!!

举例

写一个PL/SQL程序,通过定义变量,分别输出班级信息(v_bjxx)和个人姓名(v_name)
declare 
  v_bjxx varchar2(30); 
  v_name varchar2(20); 
begin 
  v_bjxx:='abc';
  v_name:='a';
  dbms_output.put_line('班级信息:'||v_bjxx||'  '||'姓名:'||'  '||v_name);
end;

应用

哪些SQL语句可以用在PL/SQL 中? select into from ; DML,commit,rollback等
(其中select into from 是查询语句中的属性值赋值给定义的变量)。

  1. %type类型: 声明一个变量与已有变量或者已有列数据类型一致。
    1.1 格式:变量名 已有变量名%type;
  2. %rowtype类型(记录类型):定义一个记录变量与已有记录类型或者表结构保持一致。
    2.1 记录变量名 表名%rowtype;

举例

写一个PL/SQL程序,查询emp表中empno = 7788员工的姓名(ename)和工资(sal)。

select ename,sal from emp where empno=7788;
-- 常规类型
declare 
  v_ename varchar2(10);
  v_sal   number(7,2);
begin 
  select ename,sal into v_ename,v_sal from emp where empno=7788;
  dbms_output.put_line('7788姓名是:'||v_ename||'  '||v_sal);
end;
--%type类型
declare 
  v_ename emp.ename%type;
  v_sal   emp.sal%type;
begin 
  select ename,sal into v_ename,v_sal from emp where empno=7788;
  dbms_output.put_line('7788姓名是:'||v_ename||'  '||v_sal);
end;
--%rowtype类型(适用于获取所有属性)
declare 
  rec_emp emp%rowtype;
begin 
  select * into rec_emp from emp where empno=7788;
  dbms_output.put_line('7788姓名是:'||rec_emp.ename||'  '||rec_emp.v_sal);
end;

原文地址:https://blog.csdn.net/hx_521/article/details/142319166

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!