pl/sql
PL/SQL(Procedural Language/SQL)是一种过程化语言,属于第三代语言,它与C、C++、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。
理解
PL/SQL是orcale database及develop tools用来开发应用程序的程序是语言(3GL),PL/SQL程序中允许含有SQL命令
PL/SQL优点
PL/SQL块结构
- 包含了变量和常量的数据类型和初始值 这个部分由关键字DECLARE开始,不需要则忽略
- 游标的声明也在这一部分
- PL/SQL的指令部分,由关键字BEGIN开始,执行语句放在这一部分,其他的PL/SQL块也可在这一部分。
- 这一部分可选,用来处理异常和错误
PL/SQL块语法
- PL/SQL块中的每一句必须以分号结束,sql语句可以是多行的,但分号表示该语句的结束,一行可以有多条sql语句,之间以分号分隔
- PL/SQL块由BEGIN或者DECLARE开始,以END结束
- 注释由–表示
- PL/SQL块可以命名也可以匿名
- 匿名程序块可以用在服务器端或者客户端
- 命名程序块可以出现在其他PL/SQL程序块的声明部分中,比较明显的是子程序子程序可以在执行部分或异常处理部分引用
- PL/SQL块可被独立编译并存储在数据库中,任何与数据库相连接的应用程序都可以访问这些存储的PL/SQL块
函数
去百度?.
函数是命名了的、存储在数据库中的PL/SQL程序块,函数接受零个或多个输入参数,有一个返回值,返回值的数据类型在创建函数是定义。
定义函数的语法如下:
存储过程
存储过程是一个PL/SQL程序块,接受零个或多个参数作为输入INOUT或输出OUTPUT或既做输出也做输入INOUT
与函数不同,存储过程没有返回值,存储过程不能由SQL语句直接使用
只能通过EXECUT命令或PL/SQL程序块内部调用
定义存储过程的语法如下:
包
触发器
使用日期函数球sysdate所在的季度、周次、当月最后一天?
- select Last_day(sysdate) from dual
- select to_char(add_months(last_day(sysdate), -1), ‘yyyy-MM-dd’) LastDay from dual