一. 编程基础 1)        结束符 2)        代码块 Begin 相当于 { end;  相当于 } 1.    变量 系统变量 Show variables; 查看系统变量sql_mode 会话变量 Set @变量名=值; 局部变量 // 在函数或过程内部定义的变量 Declare 变量名 类型 default 默认值; ; 2.    循环while 变量初始化; [名称]:While 条件判断 do 循环体; 增量; End 空格 while; delimiter //…
---视图 ---视图的概念:视图就是提供一个查询的窗口,来操作数据库中的数据,不存储数据,数据在表中. ---一个由查询语句定义的虚拟表. ---查询语句创建表 create table emp as select * from scott.emp; select * from emp; ---创建视图[必须有dba权限] create view v_emp as select ename, job from emp; ---查询视图 select * from v_emp; ---修改视图数…
存储函数 什么是存储函数: 封装一段sql代码,完成一种特定的功能,返回结果. 存储函数的语法:  create function 函数([函数参数[,….]]) Returns 返回类型 Begin If( Return (返回的数据) Else Return (返回的数据) end if; end; 例如: create function count_news(hits int) returns int 与存储过程返回参数不同的是存储函数在定义时没用直接声明哪个变量是返回参数,而只是使用了r…
游标的概念:     游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库.这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率. 游标有两种类型:显式游标和隐式游标.在前述程序中用到的SELECT...INTO...查询语句,一次只能从数据库中提取一行数据,对于这种形式的查询和DML操作,系统都会使用一个隐式游标.但是如果要…
oracle存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程,存储函数 存储过程和存储函数的相同点:完成特定功能的程序 存储过程和存储函数的区别:是否用return语句返回值 =========================创建和使用存储过程============================= 用create procedure命令建立存储过程和存储函数 语法: create [or replace] procedure 过程名(参数列表) as PLSQL子程序…
(存储)函数: 函数,也说成“存储函数”,其实就是js或php中所说的函数! 唯一的区别: 这里的函数必须返回一个数据(值): 定义形式: 注意事项: 1, 在函数内部,可以有各种变量和流程控制的使用: 2, 在函数内部,也可以有各种增删改语句: 3, 在函数内部,不可以有select或其他“返回结果集”的查询类语句: 举例: 调用形式: 跟调用内部函数一样!比如: select  now(),  8+3 as f2,   func1(); //这里,now()是系统函数: func1()是自定…
创建存储函数与创建存储过程大体相同,格式如下: create function sp_name([func_parameter[,...]]) returns type [characteristic...]routine_body 其中sp_name 为存储函数名称,func_parameter 为存储函数参数列表,每个参数有参数名 和参数类型组成. returns type用于指定返回值类型,characteristic 指定存储函数的特性.routine_body 代指SQL代码内容. 存…
plsql 有点:交互式  非过程化   数据操纵能力强   自动导航语句简单   调试简单   想率高 声明类型的方式 1.基本类型 2.引用变量 3.记录型变量 基本格式 declare 声明 begin exception end 判断语句 if:..then... else end if: 循环 loop 退出条件   exit when ...; end loop: 光标 cursor ---resltSet 返回多行数据 格式 cursor 表明 oper 打开 fetch 去一行光…
MySQL可以通过field()函数自定义排序,格式:field(value,str1,str2,str3,str4),value与str1.str2.str3.str4比较,返回1.2.3.4,如遇到null或者不在列表中的数据则返回0. mysql> select * from driver_log order by field(name,'Suzi','Ben','Henry'); +--------+-------+------------+-------+ | rec_id | nam…
代码如下: DROP TABLE SEQNUM; -- 创建序列表 CREATE TABLE SEQNUM( ID BIGINT ); -- 插入初识值 insert INTO SEQNUM values(0); -- 查看序列表数据 SELECT * FROM SEQNUM; -- 创建序列函数 DELIMITER // CREATE FUNCTION FUNC_SEQ() RETURNS BIGINT BEGIN DECLARE a BIGINT; SELECT MAX(ID) FROM S…