Oracle PL/SQL学习之基础篇(1)
1、PL/SQL,全称Procedure Language/SQL,过程化sql语言
PL/SQL的程序结构
declare
--声明部分(包括变量、光标、例外声明)
begin
--语句序列(DML语句)
exception
--例外处理语句
end;
/
2、声明部分
(1)定义基本变量,类型:char,varchar2,date,number,boolean,long
(2)变量的赋值方式: :=,into关键字
(3)引用型变量、记录型变量
引用型变量:emp_ename emp.ename%type;
记录型变量:emp_rec emp%rowtype;
select * into emp_rec from emp where eno=7839;
dbms_ouput.put_line(emp_rec.ename||' '||emp_rec.sal);--相当于给emp起了个别名
3、程序体部分
(1)分支语句
if 条件 then
语句序列1;
elsif
语句序列2;
else
语句序列3;
end if;
(2)循环体
1)形式1
while i<=10 loop
i :=i+1;
end loop;
2)形式2
loop
exit when 条件;
......
end loop;
3)形式3
for i in 1..10 loop
语句序列;
end loop;
4、光标/游标,其实是结果集
基本格式:cursor 光标名 [(参数名 数据类型 [,参数名 数据类型])...]
is select 语句;
属性:%found、%notfound --是否有记录
%isopen --判断光标是否打开
%rowcount --影响的行数
光标数限制:
在sqlplus中连接sys用户
conn sys/password@127.0.0.1:1521/orcl as sysdba
查看配置参数:
show parameter cursor
修改光标数的设置:
alter system set open_cursors=400 scope=both;
scope的取值:both,memory(只更改当前实例,不更改参数文件),spfile(只更改参数文件,不更改当前实例,并且数据库需要重启)
带参数的光标,在open的时候,将参数传递给光标。
5、fetch抓取一行记录
fetch 光标名 into 字段1,字段2...;--与open光标时候的字段对应
6、事务:原子性、一致性、隔离性、持久性
Oracle PL/SQL学习之基础篇(1)的更多相关文章
- Oracle PL/SQL学习之基础篇(2)--例外
1.例外分类:系统例外.自定义例外 (1)系统例外,参见相关API文档 (2)自定义例外 定义自己的例外:就像自定义变量一样,类型为exception 抛出例外:使用raise抛出自定义例外 set ...
- 浅析Oracle PL/SQL 学习--未完待续
这是一篇关于Oracle Pl/SQL数据库编程的课程学习分享... 首先说明几点: 学习这门课程之前,已经学过并且掌握一些基础的SQL语句.数据库结构分析.ER图设计等知识: 这里也只是较为大概地将 ...
- Oracle PL/SQL学习之Hello World(0)
1.PL/SQL是Oracle数据库的一大创举,让一些复杂繁琐的常规主流编程代码做的编码处理过程,只需要在PL/SQL中使用简短的几句代码就可以解决,并且准确高效.那么遵循惯例,我们学习PL/SQL编 ...
- [Oracle] PL/SQL学习笔记
-- 1. 使用一个变量 declare -- Local variables here v_name ); begin -- Test statements here select t.user_n ...
- Oracle PL/SQL编程之基础
1.简介:pl/sql块由三个部分组成:定义部分.执行部分.例外处理部分,如下所示: declare: /*定义部分---定义常量.变量.游标.例外.复杂数据类型 begin /*执行部分---要执行 ...
- Oracle PL/SQL学习之你需要知道的快捷键
1.格式化sql语句 Ctrl+A 然后 Ctrl+F7 2.窗口最大化最小化 首选项-->快捷键-->Maximize Toggle,然后修改成自己熟悉的快捷键设置.
- [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)
原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天 ...
- 【强烈强烈推荐】《ORACLE PL/SQL编程详解》全原创(共八篇)--系列文章导航
原文:[强烈强烈推荐]<ORACLE PL/SQL编程详解>全原创(共八篇)--系列文章导航 <ORACLE PL/SQL编程详解> 系列文章目录导航 ——通过知识共享树立个人 ...
- 学习《Oracle PL/SQL 实例讲解 原书第5版》----创建账户
通过readme.pdf创建student账户. 以下用sys账户登录时都是sysdba. 一.PL/SQL 登录oracle. SYS/123 AS SYSDBA 账户名:sys:密码:123:作 ...
随机推荐
- Visual Studio2017 设置了vcpkg之后,编译其他程序出问题
博客参考:https://github.com/nodejs/node/issues/23909 错误如下 LNK2005 _SSL_CTX_check_private_key already def ...
- Java Thread系列(四)线程通信
Java Thread系列(四)线程通信 一.传统通信 public static void main(String[] args) { //volatile实现两个线程间数据可见性 private ...
- KbmMW 4.40.00 测试发布
经过漫长的等待,支持移动开发的kbmmw 4.40.00 终于发布了,这次不但支持各个平台的开发, 而且增加了认证管理器等很多新特性,非常值得升级.具体见下表. 4.40.00 BETA 1 Oct ...
- 从数据池中捞取的存储过程控件使用完以后必须unprepare
从数据池中捞取的存储过程控件使用完以后必须unprepare,否则会造成输入参数是仍是旧的BUG. 提示:动态创建的存储过程控件无此BUG.此BUG只限于从数据池中捞取的存储过程控件. functio ...
- 结对项目— 词频统计(语言C++)
结对对象:季天梦 博客地址:http://www.cnblogs.com/jitianmeng/ github链接:https://github.com/liuyutianlyt/EX_4.md 比例 ...
- Linux系统的运行级的概念
Linux OS 将操作 环境分为以下7个等级,即 0:关机 1:单用户模式(单用户.无网络) 2:无网络支持的多用户模式(多用户.无网络) 3:有网络支持的多用户模式(多用户.有网络) 4:保留,未 ...
- CURL命令测试网站打开速度
curl -o /dev/null -s -w %{time_namelookup}:%{time_connect}:%{time_starttransfer}:%{time_total} http: ...
- 切图,css注意事项
1.文字尽量不要独立放在div中,一般放在p,span中(显得不专业) 2.div给了width就不要用padding-left,padding-right:给了height就不给padding-to ...
- .NET框架源码解读之SSCLI编译过程简介
前文演示了编译SSCLI最简便的方法(在Windows下): 在“Visual Studio 2005 Command Prompt”下,进入SSCLI的根目录: 运行 env.bat 脚本准备环境: ...
- 常用脚本--SQL Server获取OS日志
--=================================================== --SQL Server获取OS日志: ), ), ), ) select @start_d ...