Oracle笔记 六、PL/SQL简单语句块、变量定义
1、简单SQL语句,HellWorld示例
--输出信息
begin
dbms_output.put_line('Oracle Hello World!');
end;
2、变量的定义、使用
--定义变量
declare
sName varchar2(20);
begin
sName := 'jack';
dbms_output.put_line(sName);
end;
--常用类型
declare
sNum number(1);
sCount binary_integer := 0;
sSal number(7, 2) := 5000.00;
sDate date := sysdate;
sPI number(3, 2) := 3.14;
sValid boolean := true;
sName varchar2(20) := 'Jackson';
begin
dbms_output.put_line('sName:' || sName);
dbms_output.put_line('sCount:' || sCount);
dbms_output.put_line('sSal:' || sSal);
dbms_output.put_line('sDate:' || sDate);
dbms_output.put_line('sPI:' || sPI);
--dbms_output.put_line('sValid:' || sValid);
dbms_output.put_line('sName:' || sName);
end;
--定义Table变量类型
declare
type type_table_emp_empno is table of emp.empno%type index by binary_integer;
empnos type_table_emp_empno;
begin
empnos(0) := 7369;
empnos(2) := 6789;
empnos(-1) := 6543;
dbms_output.put_line(empnos(-1));
end;
--定义record变量类型
declare
type type_record_dept is record (
deptno dept.deptno%type,
dname dept.dname%type,
loc dept.loc%type
);
temp type_record_dept;
begin
temp.deptno := 56;
temp.dname := 'software';
temp.loc := 'gz';
dbms_output.put_line(temp.deptno || ' ' || temp.dname || ' ' || temp.loc);
end;
--使用rowtype声明record变量
declare
temp dept%rowtype;
begin
temp.deptno := 57;
temp.dname := 'it';
temp.loc := 'sz';
dbms_output.put_line(temp.deptno || ' ' || temp.dname || ' ' || temp.loc);
end;
--sql语句完成变量赋值
declare
v$sal emp.sal%type;
v$ename emp.ename%type;
begin
select sal, ename into v$sal, v$ename from emp where rownum = 1;
dbms_output.put_line(v$sal || ' ' || v$ename);
end;
--sql语句完成rowtype变量赋值
declare
v_row_emp emp%rowtype;
begin
select * into v_row_emp from emp where empno = 7698;
dbms_output.put_line(v_row_emp.sal || ' ' || v_row_emp.ename);
end;
--sql语句完成变量插入数据
create table dept2 as select * from dept;
declare
deptno dept.deptno%type := 57;
dname dept.dname%type := 'software';
loc dept.loc%type := 'gz';
begin
insert into dept2 values(deptno, dname, loc);
commit;
end;
select * from dept2;
Oracle笔记 六、PL/SQL简单语句块、变量定义的更多相关文章
- oracle pl/sql简介、块、过程
pl/sql语言是oracle在sql上扩展的语言.1 过程.函数.触发器是在pl/sql编写2 过程.函数.触发器是在oracle中3 pl/sql的语句可以在java中直接调用 简单介绍 在sql ...
- oracle数据库之PL/SQL 块结构和组成元素
一.PL/SQL 块 (一)PL/SQL 程序由三个块组成,即声明部分.执行部分.异常处理部分 PL/SQL 块的结构如下: 1.DECLARE /* 声明部分: 在此声明 PL/SQL 用到的变量, ...
- 每周一书《Oracle 12 c PL(SQL)程序设计终极指南》
本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQ ...
- Oracle数据库之PL/SQL程序设计基础
PL/SQL程序设计基础 一.PL/SQL块结构 前边我们已经介绍了PL/SQL块的结构,再来回顾一下: DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ ...
- Oracle数据库之PL/SQL程序设计简介
PL/SQL程序设计简介 一.什么是PL/SQL? PL/SQL是 Procedure Language & Structured Query Language 的缩写. ORACLE的SQL ...
- Oracle数据库之PL/SQL程序基础设计
一.PL/SQL块结构 前边我们已经介绍了PL/SQL块的结构,再来回顾一下: DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ BEGIN /* * 执 ...
- ORACLE中的PL/SQL
一. 1.过程,函数,触发器是pl/sql编写. 2. 过程函数触发器是在Oracle中. 3.pl/sql是非常强大的数据库过 ...
- Oracle数据库之PL/SQL触发器
Oracle数据库之PL/SQL触发器 1. 介绍 触发器(trigger)是数据库提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是 ...
- Oracle数据库之PL/SQL过程与函数
Oracle数据库之PL/SQL过程与函数 PL/SQL块分为匿名块与命名块,命名块又包含子程序.包和触发器. 过程和函数统称为PL/SQL子程序,我们可以将商业逻辑.企业规则写成过程或函数保存到数据 ...
随机推荐
- 2016 Multi-University Training Contest 4 Bubble Sort(树状数组模板)
Bubble Sort 题意: 给你一个1~n的排列,问冒泡排序过程中,数字i(1<=i<=n)所到达的最左位置与最右位置的差值的绝对值是多少 题解: 数字i多能到达的最左位置为min(s ...
- POJ 1611 The Suspects(并查集,简单)
为什么ACM的题意都这么难懂,就不能说的直白点吗?还能不能好好的一起刷题了? 题意:你需要建一个n的并查集,有m个集合,最后要输出包含0的那个集合的元素的个数. 这是简单并查集应用,所以直接看代码吧! ...
- UCOS-信号标志组(学习笔记)
信号标志组即根据各任务的信号进行逻辑运算,根据逻辑运算的结果决定是否进行.发送方指定向那个标志组的哪一位(响应位等于1表明向哪一位发)发1还是0.等待逻辑结果的任务指定等待那个标志组的哪几位.这几位按 ...
- 获取mysql数据表中的列名
select COLUMN_NAME from information_schema.columns where table_name='table_name' DESCRIBE table_name ...
- android之datepicker控件用法
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- Python进阶09 动态类型
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 谢谢TeaEra, 猫咪cat 动态类型(dynamic typing)是Pyth ...
- Python中将打印输出导向日志文件
a. 利用sys.stdout将print行导向到你定义的日志文件中,例如: import sys # make a copy of original stdout route stdout_back ...
- Access“存储过程"参数顺序要与执行代码生成的参数顺序一致
OleDbParameter olp; OleDbCommand cmd = new OleDbCommand("insertYjsData"); olp = new OleDbP ...
- Spring 的 BeanPostProcessor接口实现
今天学习了一下Spring的BeanPostProcessor接口,该接口作用是:如果我们需要在Spring容器完成Bean的实例化,配置和其他的初始化后添加一些自己的逻辑处理,我们就可以定义一个或者 ...
- ruby的hash学习笔记例: 将字符串文本中的单词存放在map中
text = 'The rain in Spain falls mainly in the plain.'first = Hash.new []second = Hash.new {|hash,key ...