oracle/sql语言简介
对于标准的数据库语言,Oracle是一个Oracle扩展,Oracle公司必须集成Oracle Oracle SQL Server等工具,近年来越来越多的开发人员和DBA开始使用PL/SQL,本文将讨论基本的语法、SQL、结构和组件,以及如何设计和实现一个。
PL/sql的优点
从版本6中可以可靠地集成到Oracle中。一旦您掌握了PL/sql的优点和它独特的数据管理的便利性,您就很难想象Oracle缺少的不是一个独立的产品。它是一种集成到Oracle服务器和Oracle工具中的技术。在SQL Server中,sql执行器可以看作是一个引擎,SQL执行器处理单一的SQL语句,而SQL引擎处理的是SQL程序块。
PL/sql的优点如下:
SQL是一种高性能的基于事务的语言,它运行在任何Oracle环境中,并支持所有的数据处理命令。
SQL支持所有SQL数据类型和所有SQL函数,并支持所有Oracle对象类型。
可以在Oracle服务器中命名和存储。它也可以被其他的sql SQL程序或SQL命令调用。任何客户机/服务器工具都可以访问程序,因此具有良好的可重用性。
Oracle数据工具可以用来管理存储在服务器中的SQL / SQL程序的安全性,数据库的其他用户访问此SQL / sql程序的能力可以被授权或撤销。
可以编写任何ASCII文本编辑器,因此Oracle可以运行的任何操作系统都非常方便。
对于SQL,Oracle必须同时处理每一条SQL语句。在网络环境中,每一个独立的调用都必须由oracle服务器进行处理,需要占用大量的服务器时间,导致网络拥塞。
块结构
是块结构语言。程序的单位是逻辑块。程序包含一个或多个逻辑块,每个块可以分为三个部分,与其他语言一样,变量在使用之前必须声明。为处理异常提供了独立的部分。下面的部分描述了PL / SQL块的不同部分。
声明部分(声明部分)
声明部分包含变量和常量的数据类型和初始值。如果不需要声明变量或常量,则可以忽略此部分。需要解释的是游标声明也在这部分。
执行部分(可执行部分)
执行部分是从最初的关键字开始,并将所有可执行语句放置在这个部分中的指令,这一部分的其他可执行语句也可以放在这部分中。
异常处理部分(例外部分)
这部分是可选的,处理本节中的异常或错误,并在后面详细讨论异常处理。
块语法
在PL / SQL块必须以分号结束每一个语句和SQL语句可以多行,但分号表示语句的结束。一行可以有多个SQL语句通过它们之间分号隔开。每个PL / SQL语句块的开始和结束的开始或声明,结束注释标记。
命名和匿名性
可以使用一个命名程序块或一个匿名程序块,在服务器端使用匿名程序块,可以在客户端使用。
命名块可以出现在其他块的声明部分中,这在子程序中更为明显。子例程可以在执行部分或异常处理部分中引用。
可以独立编译并存储在数据库中。任何连接到数据库的应用程序可以访问这些存储的PL / SQL blocks.oracle提供了四种类型的存储程序:
。功能
过程
袋
触发器
功能
函数是存储在数据库中的一个命名的块,它接受零个或多个输入参数,并且有一个返回值,当函数创建时返回值的数据类型定义:
过程
存储过程是一个PL / SQL块,接受零个或多个输入或输出参数(输入)(输出),或输入和输出(输入),和不同的功能,存储过程没有返回值,存储过程不能直接使用SQL语句,只有通过执行命令或PL / SQL程序内部调用存储过程定义的语法:
包装(包装)
包实际上是一组相关对象,它们组合在一起。当在包中调用任何函数或存储过程时,包被加载到内存中,任何函数或存储过程子程序的访问速度都将大大加快。
包由两部分组成:规范和包体(体)、变量、常量、游标和子程序的规范,包完全定义子程序和游标。
Trigger(触发器)
触发器与表或数据库事件关联,当触发事件发生时,表上定义的触发器被触发。
{分页}
变量和常量
变量存储在内存中以供参考,并且可以由一个PL/SQL块来引用。
声明变量
变量一般都是在语句块的声明部分中声明的。是一种强类型语言。也就是说,在引用变量之前,我们必须首先声明变量必须在执行部分或异常处理部分中声明。
声明变量的语法如下所示:
注意:在声明变量时,不能将null约束添加到变量中,并且在初始化时必须分配变量。
将变量赋给变量
有两种方法将变量赋给变量。
将变量直接赋值给变量
x=200;
y=y(x×20);
通过SQL选择或获取将变量赋给变量
选择金额(薪金),金额(薪金* 0.1)
为total_salary,tatal_commission
从员工
部门= 10;
常量
常数与变量相似,但常数不能在程序中改变。当定义它时,将常量赋值给它。它的声明方式类似于变量,但它必须包含关键字常量。
这个语句设置一个常称为zero_value,数据类型是数字,其值为0。
标量(标量)数据类型
标量数据类型没有内部组件,大致可以分为以下四类:
数
字符
日期/时间
布尔
表1显示了数字数据类型;表2显示了字符数据的类型;表3显示日期和布尔数据类型。
表1标量类型:数值
表2字符数据类型
表3日期和布尔值
LOB数据类型
大对象、大对象)数据类型用于存储像图像和声音这样的大数据对象。LOB数据对象可以是二进制数据或字符数据,其最大长度不超过4G。LOB数据类型支持任意接入,长仅支持顺序access.lob存储在一个单独的位置。同时,LOB定位器(LOB定位器)存储在原来的表,这是一个指向实际数据。数据包dbms_lob.lob Oracle提供的数据类型的操作LOB数据对象在PL / SQL可以分为以下四类:
BFILE
斑点
CLOB
Oracle教程,{ 1 } { 2 }是在看下一页是基本的Oracle的PL / SQL language.nclob
算子
与其他编程语言一样,PL/sql有一系列操作符:
算术运算符
。关系运算符
比较运算符
逻辑运算符
算术运算符如表4所示。
关系运算符主要用于条件判断语句或在子串,无论关系运算符检查条件和结果是正确的还是错误的,表5是在PL / SQL关系运算符。
表6显示比较运算符
表7.8显示了逻辑运算符
执行部分
执行部分包含所有语句和表达式。执行部分以关键字开始和结束与关键字异常开始。如果异常不存在,它将以关键字结尾结束。分号分隔每个语句,用赋值操作符:=或选择或输入每个变量。错误的执行部分将在异常处理部分解决。在执行部分,可以使用另一个PL/sql块,称为嵌套块。
所有SQL数据操作语句可用于执行部分,和PL / SQL块不能显示SELECT语句在屏幕上输出。SELECT语句必须包含一个字符串或是光标的一部分,用于声明变量和常量必须执行的语句的第一部分、执行部分必须包括至少一个可执行语句,零是一个合法的可执行语句,事物控制语句提交和回滚可用于部分数据定义语言的执行(数据定义语言)不能用在实现部分,DDL语句执行立即使用或dbms_sql呼叫。
执行一个PL块
在sql加执行中,执行一个匿名匿名/ SQL块,并在后面执行,如下面的示例所示:
命名程序不同于匿名程序的执行,命名的程序块必须使用执行关键字:
如果该程序在另一个命名程序块或匿名程序块中执行,则不需要执行关闭字。
{分页}
控制结构
控制结构控制代码/ SQL程序流的代码行,控制条件支持和循环控制结构。
语法和使用
如果..然后
Grammar:
if语句确定条件条件是否为真。如果是的话,它执行后面的语句。如果条件为false或NULL,则跳过if和if if之间的语句,并执行后端的语句。
如果…那么…其他的
Grammar:
如果条件条件为真,则在该语句与另一个语句之间执行语句,否则执行其他语句和结束语句。
如果可以嵌套,可以使用if或if语句中的if或if语句。
如果elsif ..然后..
Grammar:
如果状态真执行statement1,然后statement5实施或条件,以确定它是否是真的,如果真的执行statement2,然后statement5实施的条件则是相同的,如果状态,条件,条件则是不成立的,那么说明执行,那么statement5实施。
周期控制
循环控制的基本形式是循环语句,循环和结束循环之间的语句将无限期地执行。循环语句的语法如下所示:
环
声明;
结束循环
在循环和结束循环之间执行语句显然是不可行的。然后,在使用循环语句时,我们必须使用退出语句来结束强制循环,例如:
此时y的值是1010。
语句结束循环时退出,如果条件为真,则循环结束。
同时,环
当循环有一个与循环相关联的条件时。如果条件为true,则执行循环中的语句,如果结果为false,则循环结束。
对于…环
Grammar:
环,而循环周期是不确定的,循环时间周期是固定的,计数器是一个隐式声明的变量,它的初始值是start_range,二值start_range + 1,直到end_range,如果start_range等于结束_range,然后循环将执行如果反向使用关键字,然后将一个降序。
如果要退出for循环,可以使用退出语句。
标签
用户可以使用标签使程序可读性更好。可以对程序块或循环进行标记。
标记程序块
标记周期
goto语句
Grammar:
goto标签;
当执行转到语句时,控件将立即转到带标记的语句。对于块、循环和if语句,从外层跳到内层是非法的。
注:NULL是一个合法的可执行语句。
嵌套
程序块的内部可以有另一个块,称为嵌套,我们应该注意嵌套中的变量。在大多数外部程序块中定义的变量可以在所有子块中使用。如果我们定义为子块的外部变量相同的变量的名称,我们将使用定义在子块的子块执行时变量。变量定义在子块不能被父块引用。相同的语句不能由母块跳Michiko块,否则合法。
总结
我们介绍了PL / SQL的基本语法,以及如何使用PL / SQL语言和运行本文中的PL / SQL程序设计,和PL / SQL程序将被集成到Oracle服务器,而PL / SQL程序作为功能模块嵌入在Oracle数据库,但PL / SQL和Oracle数据库的结合越来越多的Oracle数据库管理员和开发人员开始使用PL / SQL。
上一页
{ 1 } { 2 }的最后一页