Oracle 定义变量总结
首先,当在cmd里办入scott密码提示错误时,可以这样改一下,scott的解锁命令是:
以system用户登录:
cmd
sqlplus system/tigertiger
alter user scott identified by "tiger" account unlock;
-学习块的结构
--学习定义变量(了解数据类型)及赋值
--了解:各种PL/SQL块的类型
--块的结构
--案例:根据工号,输出员工姓名
SELECT * FROM emp;
--块!
DECLARE
v_empno NUMBER(4);
v_ename VARCHAR2(10);
BEGIN
v_empno := &请输入工号;
--必须要将查询结果放到变量
SELECT ename INTO v_ename FROM emp WHERE empno=v_empno;
dbms_output.put_line(v_ename);
END;
--异常
DECLARE
v_empno NUMBER(4);
v_ename VARCHAR2(10);
BEGIN
v_empno := &请输入工号;
--必须要将查询结果放到变量
SELECT ename INTO v_ename FROM emp WHERE empno=v_empno;
dbms_output.put_line(v_ename);
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('执行出错了,老板!');
END;
--小结
DECLARE
--变量区(不能在begin..end中定义)
BEGIN
--业务代码区
excetipn
--异常捕获区
END;
--定义变量(了解数据类型)
--2种:保存一个值=简单变量;保存多个值=复合变量
--简单变量类型:char,varchar2,number,date(同时也列类型),boolean,表.字段%type
--复合变量:表%rowtype,record
DECLARE
v_empno NUMBER(4);
v_ename VARCHAR2(10);
v_job emp.job%TYPE; --如果字段类型改变,脚本不需要改变
BEGIN
v_empno := 7566;
SELECT ename,job INTO v_ename,v_job FROM emp WHERE empno=v_empno;
dbms_output.put_line(v_ename);
IF(v_job='MANAGER')THEN
dbms_output.put_line('经理,吃过饭没。');
END IF;
END;
--需要同上,将多个变量放到一个记录对象中
DECLARE
v_empno NUMBER(4);
my_row emp%ROWTYPE;
BEGIN
v_empno := 7566;
SELECT * INTO my_row FROM emp WHERE empno=v_empno;
dbms_output.put_line(my_row.ename||','||my_row.sal);
END;
--有时不需要一整列,只需要其中几个列。此时用record
DECLARE
--自定义复合类型 my_emp
TYPE my_emp_type IS RECORD(
yg_name emp.ename%TYPE,
yg_sal emp.sal%TYPE
);
my_row my_emp_type; --变量名 数据类型
BEGIN
SELECT ename,sal INTO my_row FROM emp WHERE empno=7788;
dbms_output.put_line(my_row.yg_name||','||my_row.yg_sal);
END;
--扩展:Oracle没有boolean类型?
--思考:性别 true=男,false=女。缺点?性别=保密。所以Oracle建立用char(1)替代,1=男2=女3=保密4=人妖
--Oracle的各种集合类型,对应 java的数组。
--引用变量:在讲解存储过程以后再讲解。
--绑定变量(命令窗口中执行,绑定变量用了 :)
SQL> var name varchar2(10)
SQL> execute :name :='hello';
PL/SQL procedure successfully completed
name
---------
hello
SQL> print name;
name
---------
hello
Oracle 定义变量总结的更多相关文章
- 问题:oracle DECLARE 变量重复利用;结果:Oracle 定义变量总结
首先,当在cmd里办入scott密码提示错误时,可以这样改一下,scott的解锁命令是: 以system用户登录:cmdsqlplus system/tigertigeralter user scot ...
- Oracle定义变量、常量
1 定义变量 declare var_countryname varchar2(50):='中国'; 2 定义常量 con_day constant integer:=365;
- oracle基础:怎样把查询的null转换为0、打印、定义变量
https://blog.csdn.net/xuxile/article/details/49943665 oracle怎样把查询的null转换为0 1.查询的null转换为0 NVL(Expr1,E ...
- Oracle定义常量和变量
1.定义变量 变量指的就是可变化的量,程序运行过程中可以随时改变其数据存储结构 标准语法格式:<变量名><数据类型>[(长度):=<初始值>] 示例: declar ...
- SQL*Plus中替换变量与定义变量
替换变量 SQL*Plus中的替换变量又叫替代变量,它一般用来临时存储相关数据:在SQL语句之间传递值.一般使用&或&&前缀来指定替换变量. 关于使用替换变量,一般是利用其创建 ...
- oracle 集合变量以及自定义异常的用法
oracle 集合变量以及自定义异常的用法, 在过程 record_practice 有record变量和自定义异常的用法实例.具体在3284行. CREATE OR REPLACE Package ...
- Linux设置Oracle环境变量
方法一:直接运行export命令定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的 ...
- Linux下设置oracle环境变量
Linux设置Oracle环境变量 方法一:直接运行export命令定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新s ...
- 【Python基础学习二】定义变量、判断、循环、函数基本语法
先来一个愉快的Hello World吧,就是这么简单,不需要写标点符号,但是需要严格按照缩进关系,Python变量的作用域是靠tab来控制的. print("Hello World" ...
随机推荐
- Django项目:CRM(客户关系管理系统)--56--47PerfectCRM实现CRM客户报名流程01
#urls.py """PerfectCRM URL Configuration The `urlpatterns` list routes URLs to views. ...
- php连接数据库插入数据
<form action="updata.php" method="post"> 姓名:<input type="text" ...
- CentOS安装Eclipse luna
1 解压 Eclipse luna到/opt tar -zxvf eclipse-java-luna-SR1-linux-gtk-x86_64.tar.gz -C /opt 2 创建软链接 ln ...
- Docker(二)安装及常用命令
1.安装 1.安装虚拟机VMWare 链接:https://pan.baidu.com/s/1Xl7ENUm2gapPOFs-iXHpRQ 提取码:eubm 2.下载centos,我下的是这个版本的 ...
- Ionic Cordova 环境配置window
1.安装java jdk http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.安 ...
- laravel--设置不需要csrfToken校验的接口
一般是前后端分离或者支付宝响应的时候需要不设置csrfToken校验的接口,laravel推荐使用passport安全校验设计接口
- 前端(jQuery)(9)-- jQuery菜单
1.垂直菜单布局 2.垂直菜单实现 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- Excel函数学习:HLOOKUP函数
Excel函数学习:HLOOKUP函数 HLOOKUP函数查找表的第一行中的值,返回该表中与找到的值在同一列的另一个值. 什么情况下使用HLOOKUP? HLOOKUP函数可以在查找行中找到精确匹配值 ...
- JavaScript 面试:什么是纯函数?
原文:Eric Elliott 译文:众成翻译 www.zcfy.cc/article/master-the-javascript-interview-what-is-a-pure-function ...
- jnhs-java实体类的有参构造器 无参构造器Could not instantiate bean class 实体类No default constructor found
new一个对象的时候要用到构造函数, 例如Hello hello = new Hello();这时调用的是Hello的无参数构造方法; Hello hello = new Hello("hi ...