Oracle PL/SQL 语言(Procedural Language/SQL)是结合了结构化查询与 Oracle 自身过程控制为一体的强大语言,PL/SQL 不但支持更多的数据类型,拥有自身的变量声明.赋值语句,而且还有条件.循环等流程控制语句.过程控制结构与 SQL 数据处理能力无缝的结合形成了强大的编程语言,可以创建过程和函数以及程序包.PL/SQL 是一种块结构的语言,它将一组语句放在一个块中,一次性发送给服务器, PL/SQL引擎分析收到 PL/SQL 语句块中的内容,把其中的过程控…
第十讲 嵌入式SQL语言之动态SQL 静态SQL 区别变量和属性:高级语言向嵌入式SQL传递变量的方法 动态SQL 动态构造SQL语句是应用程序员必须掌握的重要手段 SQL语句的动态构造示例 根据界面搜索条件,传入条件构造语句中,然后执行 关键在构造查询动态语句 动态SQL语句构造小结 SQL字符串的构造 数值型变量转换为字符型,然后是否加引号,比较大小前的转换 动态SQL的两种执行方式 数据字典及其作用 数据字典 数据字典的内容跟构成 数据字典的表结构或视图 也是存储在磁盘上的关系,专为内存高…
PL/SQL(procedure language/SQL)语言是Oracle对SQL语言的过程化扩充,是一个完整的编程语言.PL/SQL实现了过程化语句(如分支.循环等)与SQL语句的无缝连接,将过程化语言的数据处理能力与SQL语言的访问数据库的能力有机地结合在一起.PL/SQL语言在Oracle系统中是核心的编程语言,它应用于很多方面,如存储过程.触发器.包.函数和Web应用等.PL/SQL语言编写的不是客户端程序,而是服务器端的程序 PL/SQL字符集 合法字符 所有大小写字母 数字0-9…
目录 1.sql语言简介 1.1 sql语言特点 1.2 sql语言分类 1.3 sql语言的编写规则 2.用户模式 2.1 模式与模式对象 2.2 实例模式scott 本系列是作为学习笔记,用于记录学习过程,加深学习印象,以及自己重新回顾学习内容只用,参考书籍为<oracle 11g从入门到精通(第二版)>,如果需要深入学习,请购买原书籍,谢谢! 1.sql语言简介 sql全称是结构化查询语言,英文structured query language,它是一种在关系型数据库中定义和操作数据的标…
什么是异常?在PL/SQL中的一个标识.在程序运行期间被触发的错误.异常是怎样被触发的?产生一个Oracle错误.用户显示触发.怎样处理异常?用异常处理句柄捕获异常.传播异常到调用环境. 捕获异常 EXCEPTION  WHEN exception1 [OR exception2 . . .] THEN    statement1;    statement2;    . . .  [WHEN exception3 [OR exception4 . . .] THEN    statement1…
匿名PL/SQL块回顾 DECLARE (可选)    定义在PL/SQL块中要使用的对象BEGIN (必须)    执行语句EXCEPTION (可选)    错误处理语句END; (必须)匿名块(以DECLARE或BEGIN开始)每次使用时都要进行编译. 匿名块不存储在数据库中,并且它不能从其它的PL/SQL块中进行调用. 过程.函数.包和触发器:都是带名块.(请注重同匿名块的比较) 过程.函数.包和触发器:可以存储在数据库中,并且可以在需要的时候运行. 过程.函数.包和触发器:可以从其它P…
游标 Cursors--Conception 每一条被Oracle服务器执行的SQL语句都有一个独立的游标与之相关联:隐式游标 Implicit cursors: 用于所有的DML和PL/SQL的SELECT语句.显示游标 Explicit cursors: 被程序显示声明和命名.所定义的SQL语句必须只包含select语句,并且不能用insert.update或delete关键字.当select语句可能返回零或多于一行时,必须用显式游标.当Select语句预计只返回一行时,隐式游标将做得更好.…
匿名PL/SQL块回顾 DECLARE (可选)     定义在PL/SQL块中要使用的对象 BEGIN (必须)     执行语句 EXCEPTION (可选)     错误处理语句 END; (必须) 匿名块(以DECLARE或BEGIN开始)每次使用时都要进行编译. 匿名块不存储在数据库中,并且它不能从其它的PL/SQL块中进行调用. 过程.函数.包和触发器:都是带名块.(请注重同匿名块的比较) 过程.函数.包和触发器:可以存储在数据库中,并且可以在需要的时候运行. 过程.函数.包和触发器…
创建触发器 触发器类似于过程和函数,都拥有声明.执行和异常处理过程的带名PL/SQL块.与包类似,触发器必须存储在数据库中.前面已经讲过,过程是显式地通过过程调用执行的,同时过程调用可以传递参数.与之相反,触发器是在事件发生时隐式地运行的,并且触发器不能接受参数.运行触发器的方式叫做激发(firing)触发器.触发事件可以是对数据库表的DML(INSERT.UPDATE.DELETE)操作或某种视图的操作.Oracle8i把触发器功能扩展到了可以激发系统事件,如数据库的启动和关闭,以及某种DDL…
在PL/SQL程序中,允许使用的SQL语句只有DML和事务控制语句,使用DDL语句是非法的.使用SELECT语句从数据库中选取数据时,只能返回一行数据.使用COMMIT,  ROLLBACK, 和SAVEPOINT语句控制事务.使用隐式游标(implicit cursors)测定DML语句的执行结果.DDL语句只能通过内置的DBMS_SQL包来使用. 在PL/SQL中的SELECT语句 SELECT select_listINTO     {variable_name[, variable_na…