精通SQL【经典SQL语句大全】(4)
3 TO scott
4 WITH GRANT OPTION;
课程 九 声明变量
本课重点:
1、了解基本的PLSQL块和区域
2、描述变量在PLSQL中的重要性
3、区别PLSQL与非PLSQL变量
4、声明变量
5、执行PLSQL块
注意:以下实例中标点均为英文半角
一、概述:
1、PLSQL 块结构:
DECLARE --- 可选
变量声明定义
BEGIN ---- 必选
SQL 和PLSQL 语句
EXCEPTION ---- 可选
错误处理
END;---- 必选
二、实例:
declare
vjob varchar(9);
v_count number:=0;
vtotal date:=sysdate +7;
SQL【经典SQL语句大全】
c_tax constant number(3,2):=8.25;
v_valid boolean not null:=true;
begin
select sysdate into vtotal from dual;
end;
/
上例中,如果没有这个SELECT语句,会如何?
出错,说明必须有STATEMENTS
如果: select sysdate from dual into vtotal ;
同样,也不行。而且变量与赋值的类型要匹配。
三、%TYPE的属性
声明一个变量使之与数据库某个列的定义相同或与另一个已经定义过的变量相同
所以%TYPE要作为列名的后缀:如:
v_last_name s_st_name%TYPE;
v_first_name s_emp.first_name%TYPE; --这样做的好处是我们不必去知晓此列的类型与定义
或:v_balance NUMBER(7,2);
v_minimum_balance v_balance%TYPE := 10;
四、声明一个布尔类型的变量
1 只有TRUE、FALSE、NULL可以赋值给BOOLEAN变量
2 此变量可以接逻辑运算符NOT、AND、OR。
3、变量只能产生TRUE、FALSE、NULL。
实例:
VSAL1:=50000;
VSQL2:=60000;
VCOMMSAL BOOLEAN:=(VSAL1<VSQL2);
--其实是把TRUE赋值给此变量。
五、LOB 类型的变量
共有CLOB、BLOB、BFILE、NCLOB几种,这里不做为重点。
六:使用HOST VARIABLES
SQL> variable n number
SQL> print n
:n=v_sal /12;
:n这个加了:前缀的变量不是PLSQL变量,而是HOST。
七、以下几个PLSQL声明变量,哪个不合法?
A 、DECLARE
V_ID NUMBER(4);
B、DECLARE
V_X,V_Y,V_Z VARCHAR2(9);
C、DECLARE
V_BIRTH DATE NOT NULL;
D、DECLARE
V_IN_STOCK BOOLEAN:=1;
E、DECLARE
TYPE NAME_TAB IS TABLE OF VARCHAR2(20)
SQL【经典SQL语句大全】
INDEX BY BINARY_INTEGER;
DEPT_NAME NAME_TAB;
上面的习题我会在下章给出答案,这也正是声明变量的规则和难点。
课程 十 写执行语句
本课重点:
1、了解PLSQL执行区间的重要性
2、写执行语句
3、描述嵌套块的规则
4、执行且测试PLSQL块
5、使用代码惯例
注意:以下实例中标点均为英文半角
一、PLSQL 块的语法规则:
1、语句可以跨跃几行。
2、词汇单元可以包括:分隔符、标识符、文字、和注释内容。
3、分隔符:
+-*/=<>||....
4、标识符:
最多30个字符,不能有保留字除非用双引号引起。
字母开头,不与列同名。
5、文字串:如 V_ENAME:='FANCY';要用单引号括起来。
数值型可以用简单记数和科学记数法。
6、注释内容:单行时用-- 多行用/* */
与C很相似
二、SQL函数在PL/SQL的使用:
1、可用的:
单行数值型、字符型和转换型,日期型。
2、不可用的:
最大、最小、DECODE、分组函数。
实例:
BEGIN
SELECT TO_CHAR(HIREDATE,'MON,DD,YYYY') FROM EMP;
END;
V_comment:=user||':'||sysdate; -- 会编译出错
V_comment:=user||':'||to_char(sysdate); --正确
如果有可能,PLSQL都会进行数据一致性的转换,但ORACLE推荐你应该进行显示的转换,因为这样会提高性能。
三、嵌套块和变量作用区域
1、执行语句允许嵌套时嵌套。
…… 此处隐藏:169字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




