PL/SQL学习(一)
原文参考:http://plsql-tutorial.com/
组成:
- 声明部分(可选)
- 执行部分(必选)
- 异常处理(可选)
PL/SQL变量和常量
变量
格式:
variable_name datatype [NOT NULL := value ];
例子:
dept varchar2(10) NOT NULL := “HR Dept”;
指定变量值的两种方式:
1) variable_name:= value;
2)
SELECT column_name
INTO variable_name
FROM table_name
[WHERE condition];
变量范围:
- Local variables -定义在嵌套块里,不能被外部块访问
- Global variables - 定义在外部块里,可以供自己使用,也可以被其里面的嵌套块使用。
常量
格式:
constant_name CONSTANT datatype := VALUE;
例子:
salary_increase CONSTANT number (3) := 10;
pl/Sql Record 记录
定义和声明pl/Sql Record的几种方式:
| 语法格式 |
用途 |
|
TYPE record_type_name IS RECORD (column_name1 datatype, column_name2 datatype, ...); |
Define a composite datatype, where each field is scalar. |
|
col_name table_name.column_name%type; |
Dynamically define the datatype of a column based on a database column. |
|
record_name record_type_name; |
Declare a record based on a user-defined type. |
|
record_name table_name%ROWTYPE; |
Dynamically declare a record based on an entire row of a table. Each column in the table corresponds to a field in the record. |
| 语法格式 |
用途 |
|
record_name.col_name := value; |
To directly assign a value to a specific column of a record. |
|
record_name.column_name := value; |
To directly assign a value to a specific column of a record, if the record is declared using %ROWTYPE. |
|
SELECT col1, col2 INTO record_name.col_name1, record_name.col_name2 FROM table_name [WHERE clause]; |
To assign values to each field of a record from the database table. |
|
SELECT * INTO record_name FROM table_name [WHERE clause]; |
To assign a value to all fields in the record from a database table. |
|
variable_name := record_name.col_name; |
To get a value from a record column and assigning it to a variable. |
PL/SQL学习(一)的更多相关文章
- ORALCE PL/SQL学习笔记
ORALCE PL/SQL学习笔记 详情见自己电脑的备份数据资料
- Oracle之PL/SQL学习笔记
自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...
- Oracle PL/SQL学习之Hello World(0)
1.PL/SQL是Oracle数据库的一大创举,让一些复杂繁琐的常规主流编程代码做的编码处理过程,只需要在PL/SQL中使用简短的几句代码就可以解决,并且准确高效.那么遵循惯例,我们学习PL/SQL编 ...
- 浅析Oracle PL/SQL 学习--未完待续
这是一篇关于Oracle Pl/SQL数据库编程的课程学习分享... 首先说明几点: 学习这门课程之前,已经学过并且掌握一些基础的SQL语句.数据库结构分析.ER图设计等知识: 这里也只是较为大概地将 ...
- [Oracle] PL/SQL学习笔记
-- 1. 使用一个变量 declare -- Local variables here v_name ); begin -- Test statements here select t.user_n ...
- PL/SQL学习(六)触发器
原文参考:http://plsql-tutorial.com/ 创建语法: CREATE [OR REPLACE ] TRIGGER trigger_name {BEFORE | AFTER | IN ...
- PL/SQL学习(五)异常处理
原文参考:http://plsql-tutorial.com/ 组成: 1) 异常类型 2) 错误码 3) 错误信息 代码结构: DECLARE Declaration section BEGIN ...
- PL/SQL学习(四)存储过程和函数
原文参考:http://plsql-tutorial.com/ PL/SQL存储过程 存储过程相当于一个有名字的PL/SQL块,经过第一次编译后再次调用时不需要再次编译 创建格式: CREATE [O ...
- PL/SQL学习(三)游标
原文参考:http://plsql-tutorial.com/ 两种类型: 隐式: 执行INSERT.UPDATE.DELETE 或者只返回一条结果的SELECT语句时默认创建 ...
随机推荐
- 用document.title=“xxx”动态修改title,在ios的微信下面不生效
单页应用里整个页面只会在第一次完全刷新,后面只会局部刷新(一般不包括head及里面的title),所以无法在服务器端控制title,只能在页面刷新的时候通过js修改title.常规做法如下,可惜在iO ...
- 横竖屏事件响应(viewWillLayoutSubviews和通知)两种方式
转载:http://blog.csdn.net/nogodoss/article/details/17246489 最近搞横竖屏,获得一些心得,特记录下来. 做横竖屏最重要的是确定横竖屏响应的接口.目 ...
- Linux环境进程间通信
http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index2.html http://bbs.chinaunix.net/forum.ph ...
- struts2 struts.xml配置文件详解
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quo ...
- java18 任务调度
任务调度; Timer类, /** 了解 Timer() schedule(TimerTask task, Date time) schedule(TimerTask task, Date first ...
- Android(java)学习笔记155:如何让你的GridView不再滚动
GridView显示不完整的原因是因为,他的外层也套用了一个滑动的控件,这个解决办法是:重写GridView,是控制GridView不能滚动,就是写一个类继承GridView 代码如下: publ ...
- python--class test
# !usr/bin/env python3#-*- coding:utf-8 -*- 'a test class'class Student(object): def __init__(se ...
- CentOS6.3挂载读写NTFS分区
CentOS不像Fedora,默认是没有自动挂载NTFS的,而它可以利用NTFS-3G来实现挂载及读写. NTFS-3G 是一个开源的软件,可以实现 Linux.Free BSD.Mac OSX.Ne ...
- 对进度条progressbar的调整
进度条的理解,感觉这个进度条不是那么简单,系统给我们定制了几个普通的,但是如果还需要有更加好的效果,需要自己去调试. <ProgressBar android:layout_width=&quo ...
- Js5中基本类型
分别是: Number,//数值 string,字符串 Boolean,//布尔 null,null类型 undefined//未定义 标准库提供了对 布尔 ,数值,字符串三种的构造函数封装 aler ...