欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Ch 2 PL/SQL编程基础

程序员文章站 2024-01-30 09:06:58
...

编程语言划分如下:1GL是汇编语言; 2GL是高级程序设计语言,如FORTRAN,ALGOL,BASIC,LISP等;3GL是增强性的高级程序设计语言,如PASCAL, ALGOL68,FORTRAN77等;4GL是按计算机科学理论指导设计出来的结构化语言,如ADA,MODULA-2,SMALLTALK-80等 PL/S

编程语言划分如下:1GL是汇编语言; 2GL是高级程序设计语言,如FORTRAN,ALGOL,BASIC,LISP等;3GL是增强性的高级程序设计语言,如PASCAL, ALGOL68,FORTRAN77等;4GL是按计算机科学理论指导设计出来的结构化语言,如ADA,MODULA-2,SMALLTALK-80等

PL/SQL基本程序单元是。分:匿名块、过程块(子程序1)、函数块(子程序2)

--块1:匿名块,编译时候自动运行
declare
v_str varchar(50);
v_name varchar(50);
begin
select ename into v_str from emp where empno = 7369;
dbms_output.put_line(v_str);
end;
select * from emp;

--块2:过程
--1、生成伪代码见左边,编译,不产生日志文件
create or replace procedure --or replace 在一个过程里面
--变量声明
pro_emp_getinfo_byId(v_num int) is
v_name varchar(50);
begin
select ename into v_name
from emp where empno = v_num;
dbms_output.put_line(v_name);
end;
--2、执行
call pro_emp_getinfo_byId(7369);
select * from emp where empno = 7369;
--块3、函数
create or replace function
fun_getinfo(v_empno int) return varchar is
v_name varchar(50);
begin
select ename into v_name
from emp where empno = v_empno;
return v_name;
end;
declare
v_name varchar(50);
begin
v_name := fun_getinfo(7369);
dbms_output.put_line(v_name);
end;

数据类型

a、标量变量:varchar2(n)同varchar(n) char(n)固定长度 Number(p,s) p总个数,s小数位数 boolean

定义:c constant number not null(3,2):=5.5;不能修改c,且非空必须赋值 default**默认

可以使用“表.列%type”定义类型
b、复合变量可以存放多个变量值

1、PL/SQL记录 declare
type mytype is record(
myname f.f_name%type,
myphoneNo f.f_phoneno%type
);
my mytype;--自定义类型
mytable f%rowtype;--与表的成员类型一样
begin
my.myname :='wo';--赋值
select * into mytable from f where myname = 'john';--赋值
end

c、引用变量

d、LOB变量分内部和外部