Oracle_10g_PLSQL程序设计

合集下载

Oracle PL SQL 编程手册(SQL大全)

Oracle PL SQL 编程手册(SQL大全)

Oracle PL/SQL 编程手册(SQL大全) 一、SQL PLUS1引言SQL命令以下17个是作为语句开头的关键字:alter drop revokeaudit grant rollback*mit*insert selectment lock updatecreate noaudit validatedelete rename这些命令必须以“;”结尾带*命令句尾不必加分号,并且不存入SQL缓存区。

SQL中没有的SQL*PLUS命令这些命令不存入SQL缓存区define pause#del quit$describe remark/disconnect runaccept document saveappend edit setbreak exit showbtitle get spoolchange help sqlplusclear host startcolumn input timingpute list ttitleconnect newpage undefinecopy---------2数据库查询数据字典TAB用户创建的所有基表、视图和同义词清单DTAB构成数据字典的所有表COL用户创建的基表的所有列定义的清单CATALOG用户可存取的所有基表清单select*from tab;describe命令描述基表的结构信息describe deptselect*from emp;select empno,ename,jobfrom emp;select*from deptorder by deptno desc;逻辑运算符=!=或<>>>=<<=inbetween value1and value2like%_in nullnotno in,is not null谓词in和not in有哪些职员和分析员select ename,jobfrom empwhere job in('clerk','analyst');select ename,jobfrom empwhere job not in('clerk','analyst');谓词between和not between哪些雇员的工资在2000和3000之间select ename,job,sal from empwhere sal between2000and3000;select ename,job,sal from empwhere sal not between2000and3000;谓词like,not likeselect ename,deptno from empwhere ename like'S%';(以字母S开头)select ename,deptno from empwhere ename like'%K';(以K结尾)select ename,deptno from empwhere ename like'W___';(以W开头,后面仅有三个字母)select ename,job from empwhere job not like'sales%';(哪些雇员的工种名不以sales开头)谓词is null,is not null没有奖金的雇员(即mision为null)select ename,job from empwhere m is null;select ename,job from empwhere m is not null;多条件查询select ename,jobfrom empwhere deptno=20and job!='clerk';表达式+-*/算术表达式选择奖金高于其工资的5%的雇员select ename,sal,m,m/sal from empwhere m>.05*salorder by m/sal desc;日期型数据的运算add two days to6-Mar-876-Mar-87+2=8-Mar-87add two hours to6-Mar-876-Mar-87+2/24=6-Mar-87and2hrsadd15seconds to6-Mar-876-Mar-87+15/(24*60*60)=6-Mar-87and15secs列名的别名select ename employee from empwhere deptno=10;(别名:employee)select ename,sal,m,m/sal"C/S RATIO"from empwhere m>.05*salorder by m/sal desc;SQL命令的编辑list or l显示缓冲区的内容list4显示当前SQL命令的第4行,并把第4行作为当前行,在该行号后面有个*。

安装指导PLSQL DEVELOPER连接64位ORACLE11G

安装指导PLSQL DEVELOPER连接64位ORACLE11G

PLSQL developer连接64位oracle11G默认情况下,PL/SQL Developer是无法连接到数据库的,原因是:PL/SQL DEVELOPER是沒办法执行64位元的OCI.DLL,可是Win7X64又只能装64位元Oracle client X64。

变成要多下载一个Oracle Instant client X32oci.dll是64位的,而PL/SQL developer只有32位的,在使用64位oci.dll文件时出错。

1.下载instantclient-basic-nt到Oracle官网下载Instant Client for Microsoft Windows(32-bit)下载后配置文件如下图2.解压指定位置选择instantclient-basic-nt-11.2.0.3.0,下载后解压到目录。

(本人的路径为:D:\ProgramFiles\instantclient_11_2)解压后的目录为安装PL/SQL Development由于提供的是绿色版的,直接打开文件夹点击此图标即可登入配置PL/SQL Deverloper登陆非登录状态下进入PL/SQL developer,进入工具->首选项->连接,在连接中设置Oracle主目录和OCI库,其中Oracle主目录设置为InstantClient的解压目录(D:\ProgramFiles\instantclient_11_2本人的路径),OCI库设置为该目录下的oci.dll(D:\ProgramFiles\instantclient_11_2\oci.dll本人的路径)。

设置完成后界面如下保存好后可尝试登录,如果出现这样的报错ORA-12154:TNS:could not resolve the connect identifier specified.,此时你就得需要去配置环境变量:控制面板\所有控制面板项\系统,然后在左边有一个“高级系统设置”,点击后即可得到如下:点击环境变量,得到:系统变量中的新建,设置好变量名与变量名:(变量名就是你oracle的路径:本人的路径为:C:\app\Administrator\product\11.2.0\dbhome_1)关键找到红色部分即可;再次登录时可能会报错:NLS_LANG在客户端不能被确定字符集转变将造成不可预期的后果此时还得多配置一条环境变量:变量名与变量值与图片上一样即可。

Oracle_PLSQL教程-第十章

Oracle_PLSQL教程-第十章

翻译:陈拓 chentuo@2006 年 6 月16 日更多触发器概念Copyright © Oracle Corporation, 2001. All rights reserved.进度表: 时间 主题80 分钟 讲演40 分钟 练习120 分钟 总共目标完成本课程后, 您应当能够:• 创建附加的数据库触发器• 解释触发器管理规则• 实现触发器10­2 Copyright © Oracle Corporation, 2001. All rights reserved.本课目标在本课中,你将学习怎样创建更多地数据库触发器并学习规则触发器。

你还将学习许多应用程序触发器。

创建数据库触发器• 触发用户事件:– CREATE, ALTER 或 DROP– Logging on 或 off• 触发数据库或系统事件:– Shutting down 或 starting up 数据库– 一个指定的错误 (或任何错误) 出现10­3 Copyright © Oracle Corporation, 2001. All rights reserved.创建数据库触发器在编码触发器体之前,确定触发器的组建。

在系统事件上的触发器可以被定义在数据库或方案级别。

例如,一个数据库 shutdown 触发器 被定义在数据库级别。

在数据定义语言 (DDL) 语句上的触发器,或一个用户登录登出,即可以被 定义为数据库级别也可以被定义为方案级别。

在 DML 语句上的触发器被定义在指定的表或一个视图上。

一个定义在数据库级别的触发器对所有用户触发, 一个定义在方案或表级别的触发器只有当触 发级别包括该方案或表时才触发。

触发事件可能引起触发器触发:· 在数据库或方案中的一个对象上一个数据定义语句· 一个指定的用户 (或任何用户) 登录或登出· 一个数据库关闭或启动· 一个指定的或任何错误出现在 DDL 语句上创建触发器• 语法:CREATE [OR REPLACE] TRIGGER trigger_nametiming[ddl_event1 [OR ddl_event2 OR ...]]ON {DATABASE|SCHEMA}trigger_body10­4 Copyright © Oracle Corporation, 2001. All rights reserved.创建触发器语法DDL 事件 可能的值CREATE无论何时一个 CREATE 语句添加一个新的数据库对象到数据字典中时,引起 Oracle 服务器激发触发器ALTER无论何时一个 ALTER 语句修改一个在数据字典中的数据库对象时,引起 Oracle 服务器激发触发器DROP无论何时一个 DROP 语句删除一个在数据字典中的数据库对象时,引起Oracle 服务器激发触发器触发器体代表一个完整的 PL/SQL 块。

OracleDatabase10g数据库安装及配置教程

OracleDatabase10g数据库安装及配置教程

OracleDatabase10g数据库安装及配置教程Oracle安装配置教程分享给⼤家供⼤家参考,具体内容如下1、安装Oracle 版本:Oracle Database 10g Release 2 (10.2.0.1)下载地址:安装设置:1)这⾥的全局数据库名即为你创建的数据库名,以后在访问数据,创建“本地Net服务名”时⽤到;2)数据库⼝令在登录和创建“本地Net服务名”等地⽅会⽤到。

2、创建“本地Net服务名”1)通过【程序】-》【Oracle - OraDb10g_home1】-》【配置和移植⼯具】-》【Net Configuration Assistant】,运⾏“⽹络配置助⼿”⼯具:2)选择“本地 Net 服务名配置”:3)这⾥的“Net 服务名”我们输⼊安装数据库时的“全局数据库名”:4)主机名我们输⼊本机的IP地址:5)测试数据库连接,⽤户名/密码为:System/数据库⼝令(安装时输⼊的“数据库⼝令”):默认的⽤户名/密码错误:更改登录,输⼊正确的⽤户名/密码:测试成功:3、PLSQL Developer 连接测试输⼊正确的⽤户名/⼝令:成功登陆:数据库4、创建表空间打开sqlplus⼯具:sqlplus /nolog连接数据库:conn /as sysdba创建表空间:create tablespace camds datafile 'D:\oracle\product\10.2.\oradata\camds\camds.dbf' size 200m autoextend on next 10m maxsize unlimited;5、创建新⽤户运⾏“P/L SQL Developer”⼯具,以DBA(⽤户名:System)的⾝份登录:1)新建“User(⽤户):2)设置⽤户名、⼝令、默认表空间(使⽤上⾯新建的表空间)和临时表空间:3)设置⾓⾊权限:4)设置”系统权限“:5)点击应⽤后,【应⽤】按钮变灰,新⽤户创建成功:6)新⽤户登录测试:输⼊新⽤户的“⽤户名/⼝令”:新⽤户“testcamds”成功登陆:6、导⼊导出数据库先运⾏cmd命令,进⼊命令⾏模式,转到下⾯的⽬录:D:\oracle\product\10.2.0\db_1\BIN【该⽬录下有exp.exe⽂件】1)导⼊命令语法:imp userid/pwd@sid file=path/file fromuser=testcamds touser=userid命令实例:imp testcamds/123@camds file=c:\testcamds fromuser=testcamds touser=testcamds导⼊结果:2)导出:命令语法:exp userid/pwd@sid file=path/file owner=userid命令实例:exp testcamds/123@camdsora file=c:\testcamds owner=testcamds 导⼊结果://创建临时表空间create temporary tablespace zfmi_temptempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf'size 32mautoextend onnext 32m maxsize 2048mextent management local;//tempfile参数必须有//创建数据表空间create tablespace zfmiloggingdatafile 'D:\oracle\oradata\zfmi\zfmi.dbf'size 100mautoextend onnext 32m maxsize 2048mextent management local;//datafile参数必须有//删除⽤户以及⽤户所有的对象drop user zfmi cascade;//cascade参数是级联删除该⽤户所有对象,经常遇到如⽤户有对象⽽未加此参数则⽤户删不了的问题,所以习惯性的加此参数//删除表空间前提:删除表空间之前要确认该表空间没有被其他⽤户使⽤之后再做删除drop tablespace zfmi including contents and datafiles cascade onstraints;//including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,⽽未加此参数,表空间删不掉,所以习惯性的加此参数//including datafiles 删除表空间中的数据⽂件//cascade constraints 同时删除tablespace中表的外键参照如果删除表空间之前删除了表空间⽂件,解决办法: 如果在清除表空间之前,先删除了表空间对应的数据⽂件,会造成数据库⽆法正常启动和关闭。

PLSQL Developer 10g 创建、删除表空间、更名

PLSQL Developer 10g 创建、删除表空间、更名
AUTOEXTEND ON NEXT 1000M MAXSIZE UNLIMITED LOGGING PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT MANUAL FLASHBACK ON;
7) DROP TABLESPACE db_name_ INCLUDING CONTENTS AND DATAFILES; //删除表空间
--测试创建表空间
create tablespace IMSTEST
datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HNORCL\IMTEST.def' size 200M
TEMPORARY TABLESPACE "TEMP" ;
grant connect to PROJECTNAME ;
grant dba to PROJECTNAME ;
grant sysdba to PROJECTNAME ;
--创建无限表空间 SQL代码
CREATE TABLESPACE test DATAFILE 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORACLE\TEST1.DBF' SIZE 20000M
extent management local autoallocate
segment space management auto;
CREATE USER PROJECTNAME
IDENTIFIED BY "PROJECTNAME"
DEFAULT TABLESPACE "TBS_PROJECTNAMETEST"

精通 oracle 10g plsql 编程-学习笔记

精通 oracle 10g plsql 编程-学习笔记

1.PL/SQL综述本章学习目标,了解如下内容:PL/SQL的功能和作用PL/SQL 的优点和特征;Oracle 10g、Oracle9i 的PL/SQL新特征1.1.SQL简介1.1.1.SQL语言特点SQL语言采用集合操作方式1.1.2.SQL语言分类●数据查询语言(SELECT语句):检索数据库数据。

●数据操纵语言(DML):用于改变数据库数据。

包括insert,update和delete三条语句。

●事务控制语言(TCL):用于维护数据库的一致性,包括commit,rollback和savepoint 三条语句●数据定义语言(DDL):用户建立、修改和删除数据库对象。

●数据控制语言(DDL):用于执行权限授予和收回操作。

包括grant 和revoke两条命令。

1.1.3.SQL 语句编写规则●SQL关键字不区分大小写●对象名和列名不区分大小写●字符值和日期值区分大小写●书写格式随意1.2.PL/SQL简介1.3.Oracle 10G PL/SQL 新特征2.PL/SQL开发工具本章学习目标:学会使用SQL*PLUS学会使用PL/SQL developer;学会使用Procedure Builder。

2.1.SQL*PLUS在命令行运行SQL*PlusSqlplus [username]/[password] [@server]3.PL/SQL 基础学习目标:●了解PL/SQL块的基本结构以及PL/SQL块的分类;●学会在PL/SQL块中定义和使用变量●学会在PL/SQL块中编写可执行语句;●了解编写PL/SQL代码的指导方针;●了解Oracle 10g的新特征——新数据类型BINARY_FLOAT 和BINARY_DOUBLE,以及指定字符串文本的新方法。

3.1.PL/SQL 块简介3.1.1.PL/SQL块结构3.1.2.PL/SQL 块分类匿名块命名块子程序触发器3.2. 定义并使用变量3.2.1.标量变量3.2.2.复合变量3.2.3.参照变量3.2.4.LOB 变量3.2.5.非PL/SQL 变量3.3.编写 PL/SQL 代码3.3.1.PL/SQL 词汇单元分隔符标识符文本(数字文本,字符文本,字符串文本,布尔文本,日期时间文本)注释3.3.2.PL/SQL 代码编码规则标识符命名规则大小写规则代码缩进嵌套块和变量范围PL/SQL中可以使用的SQL函数4.使用SQL语句学习目标:学会使用SELECT语句去完成基本查询功能学会使用INSERT,UPDA TE和DELETE语句去操作数据库数据学会使用COMMIT,ROLLBACK和SA VEPOINT语句去控制事务学会使用SELECT语句去实现各种复杂查询功能(数据分组、连接查询、子查询、层次查询、合并查询等)4.1.使用基本查询处理NULL:函数nvl(expr1,expr2),nvl2(expr1,expr2,expr3)4.2.使用DML语句使用多表插入数据语法:INSERT ALL insert_into_clause [value_clause] subquery;INSERT conditional_insert_clause subquery;示例1:使用ALL 操作符执行多表插入INSERT ALLWHEN deptno=10 THEN INTO dept10WHEN deptno=20 THEN INTO dept20WHEN deptno=30 THEN INTO dept30WHEN job=’CLERK’ THEN INTO clerkELSE INTO otherSelect * from emp;示例2:使用FIRST 操作符执行多表插入INSERT FIRSTWHEN deptno=10 THEN INTO dept10WHEN deptno=20 THEN INTO dept20WHEN deptno=30 THEN INTO dept30WHEN job=’CLERK’ THEN INTO clerkELSE INTO otherSELECT * FROM emp;4.3.使用事务控制语句4.3.1.事务和锁4.3.2.提交事务4.3.3.回退事务设置保存点:savepoint a;或者exec dbms_transaction.savepoint(‘a’)取消部分事务Rollback to a;或者Exec dbms_transaction.rollback_savepoint(‘a’)取消全部事务:Rollback; 或者exec dbms_transaction.rollback() 4.3.4.只读事务4.3.5.顺序事务4.4.数据分组4.4.1.分组函数MaxMinAvgSumCountVarianceStddev使用分组函数注意事项:●当使用分组函数时,除了函数Count(*) 之外,其他分组函数都会忽略NULL行。

Oracle中使用PLSQL编写输入员工编号查询员工姓名存储过程实例

Oracle中使用PLSQL编写输入员工编号查询员工姓名存储过程实例
WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('没有找到该员工记录!'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('程序块错误!'); RAISE; end pro01;
存储过程实例
存储过程编写完成后需要编译
程序 树状 列表 窗口
enVar := 0; DBMS_OUTPUT.PUT_LINE('开始查询数据库:'); SELECT EName INTO enVar FROM Scott.Emp WHERE EmpNo=pEmpNo; DBMS_OUTPUT.PUT_LINE('员工名称为:'||enVar); EXCEPTION
代码编辑窗口
存储过程实例-测试1
员工号: 7782
存储过程实例-测试2
员工号: 7789
Oracle中使用PL/SQL编写输入员工编号 查询员工姓名存储过程实例
存储过程实例
编写输入员工编号查询员工姓名存储过程: 要求: 1.在scott用户的emp表中依据输入的员工编号,输出员工姓名 2.如果没有找到,显示'没有找lace procedure pro01(pEmpNo IN NUMBER) is enVar VARCHAR2(100); begin

Oracle_PLSQL教程-第二章

Oracle_PLSQL教程-第二章

翻译:陈拓 chentuo@2006 年 6 月16 日创建过程Copyright © Oracle Corporation, 2001. All rights reserved.进度表: 时间 主题40 分钟 讲演25 分钟 练习65 分钟 总共目标完成本课程后, 您应当能够:• 描述过程• 创建过程• 形式参数和实际参数之间的区别• 列举不同参数模式的特性• 创建带参数的过程• 调用过程• 在过程中处理异常• 删除过程2­2 Copyright © Oracle Corporation, 2001. All rights reserved.本课目标在本课中,你将学习创建、执行和删除过程。

什么是过程?• 过程是执行一个动作的子程序的一种类型• 过程可以作为一个方案对象被存储在数据库中,用于重 复执行2­3 Copyright © Oracle Corporation, 2001. All rights reserved.过程的定义过程是一个命名的 PL/SQL 块,它能够接收参数 (在英文中 parameters 有时也称 为 arguments),并且被调用,一般而言,你使用一个过程来完成一个动作。

一个过程有 一个头,一个声明部分,一个执行部分和一个可选的异常处理部分。

一个过程可以被编译并且被作为方案对象存储在数据库中。

过程提高可重用性和可维护性。

当可用时,他们可以在应用程序中被多次使用。

如 果需求改变了,仅仅过程序要被更新,应用程序可以不受影响。

2­4 Copyright © Oracle Corporation, 2001. All rights reserved.创建过程的语法• REPLACE 选项指示如果过程存在,它将被删除并且用语句创建的新版本代替• PL/SQL 块,既可以用 BEGIN 开始也可以用局部变量的声明开始,既可以用 END 结束也可以用 ENDprocedure_name 结束CREATE [OR REPLACE] PROCEDURE procedure_name [(parameter1 [mode1] datatype1, parameter2 [mode2] datatype2, . . .)] IS|AS PL/SQL Block;CREATE [OR REPLACE] PROCEDURE procedure_name [(parameter1 [mode1] datatype1, parameter2 [mode2] datatype2, . . .)] IS|AS PL/SQL Block; 创建过程的语法语法定义 参数说明 procedure_name过程的名字 parameterPL/SQL 变量的名字,依据所使用的模式,参数值由过程被 传递到主叫环境或反之,或两者都有 mode参数的类型:IN (默认)、OUT 、IN OUT Data type参数的数据类型 ­ 可以是任何 PL/SQL 数据类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

不要分号,但是END和SQL语句要求用分号结束。
2020/11/23
3
7.1.2 运算符
数据库原理与应用
1.算术运算符
算术运算符用于执行数字型表达式的算术运 算,PL/SQL 支持的算术运算符包括: +:加。 -:减。 x:乘。 /:除。 MOD:取模
2020/11/23
4
7.1.2 运算符
数据库原理与应用
2020/11/23
13
7.1.4 定义数据类型
数据库原理与应用
例如:定义一个记录类型的student。
DECLARE
TYPE student IS RECORD(
name VARCHAR2(10),
sex CHAR(2),
age INT
);
stu1 student;
BEGIN
:=‘test’;
2.比较运算符
比较运算符用来比较两个表达式的值是否相 同。PL/SQL支持的比较运算符包括:
>大于。 = 等于。 < 小于。 >= 大于等于。 <= 小于等于。 != 不等于。 like 类似于。 between 在……之间。 in在……之中。
2020/11/23
5
7.1.2 运算符
数据库原理与应用
数据库原理与应用
第7章 Oracle 10g PL/SQL程序设计
7.1 PL/SQL程序设计基础 7.2 流程控制语句 7.3 游标 7.4 异常处理 7.5 过程与函数 7.6 触发器
2020/11/23
1
数据库原理与应用
7.1 PL/SQL程序设计基础
PL/SQL简介
PL/SQL既具备SQL的功能,又具备过程化语 言的条件判断、循环、出错处理等特点,并 支持所有的事务控制命令。 一个完整的语句块一次发送到Oracle,可明 显地减少与Oracle之间的通信和调研,提高 效益。
b_date DATE;
v_date b_date%TYPE;
v_bookname book.bookname%TYPE;
2020/11/23
15
7.1.4 定义数据类型
数据库原理与应用
2020/11/23
16
7.1.4 定义数据类型
数据库原理与应用
定义参考类型的变量(2)
定义变量的类型,使其参考表、视图或游标 的数据类型。 语法: <变量名> <表名|视图名|游标名>%ROWTYPE 例如:
数据库原理与应用
5.赋值运算符
PL/SQL中的赋值运算符为等号(:=),它 将表达式的值赋给一个变量。例如:
DECLARE
x INT;
BEGIN
x := 100 + 50;
dbms_output.put_line(x);
END;
注意:在SQL*PLUS中使用dbms_output.put_line 来输出变量的值,需要执行SET SERVEROUTPUT ON命令打开环境变量
serveroutput
2020/11/23
8
7.1.2 运算符
数据库原理与应用
2020/11/23
9
7.1.3 变量与常量
数据库原理与应用
1.变量声明
PL/SQL在DECLARE部分中声明变量,语法 x CHAR(10) --定义长度为10字符的变量x
2020/11/23
12
7.1.4 定义数据类型
数据库原理与应用
定义数据类型的语法格式为:
TYPE 数据类型名 IS 数据类型
Oracle允许用户定义3种数据类型:
RECORD(记录)、TABLE(表)、 VARRAY(变长数组)
定义RECORD的语法为: TYPE 数据类型名 IS RECORD(成员变量定义);
2020/11/23
11
7.1.3 变量与常量
数据库原理与应用
举例说明变量定义和赋初值
qty NUMBER(2):=12; qty NUMBER(2) DEFAULT 12; address CHARVAR2(20):=‘beijing’; b_date DATE:=’08-05月-10’; re_mark BOOLEAN:=FALSE;
2020/11/23
2
7.1 PL/SQL程序设计基础
数据库原理与应用
7.1.1 PL/SQL程序结构
DECLARE --定义部分:变量、常量、游标、 自定义数据类型等说明。
BEGIN --执行部分:PL/SQL语句。 EXCEPTION --异常处理部分,异常的处理
END;
*关键词DECLARE、BEGIN、EXCEPTION后
3.逻辑运算符
逻辑运算符用于测试条件是否为真,它与 比较运算符一样,根据测试结果返回布尔 值TRUE、FALSE。逻辑运算符有以下几 种:
AND
OR
NOT
2020/11/23
6
7.1.2 运算符
数据库原理与应用
4.字符串连接符
“||”可以实现字符串之间的连接操作。 PL/SQL中,字符串之间的其他操作通过字 符串函数实现。
例7-1 下列表达式用字符串连接符实现两字符 串间的连接。
SELECT 'abc' || '123' FROM dual
其计算结果为abc123。
➢ 注意:dual是一个虚拟表,用来构成select的语 法规则,oracle保证dual里面永远只有一条记录。
2020/11/23
7
7.1.2 运算符
2.变量赋值
变量声明后,可以按下面语法为变量赋值:
变量名 := 表达式;
例如:x:=15;
2020/11/23
10
7.1.3 变量与常量
数据库原理与应用
3. 定义常量
变量名 CONSTANT 数据类型 := 值 例如:
DECLARE pi CONSTANT NUMBER := 3.1415926;
END; 2020/11/23
14
7.1.4 定义数据类型
数据库原理与应用
定义参考类型的变量(1)
当将数据库列的值放到一个变量时,必须保证 变量的数据类型与列的数据类型完全一致。可 用已定义好的变量的类型或列的类型来定义新 变量的类型。
语法
<变量名> <已定义变量名或表名.列名> %TYPE 例如:
rec book%ROWTYPE;
rec.qty:=120;
2020/11/23
17
7.1.4 定义数据类型
数据库原理与应用
2020/11/23
此类型的变量内的字段与 表、视图、游标内的列的 名字和类型完全一致。定 义后,使用此类型的变量 时,用变量名.列名来表示。
相关文档
最新文档