sql语言结构与存储过程
来源:互联网 发布:js 控制图片 90度旋转 编辑:程序博客网 时间:2024/05/16 09:17
一、 变量
1、用户变量(与连接有关):
一个客户端定义的变量不能被其他客户端看到或使用,当客户端退出时,该客户端连接的是所有变量自动释放。[服务器连接:一直到退出的一段时间]
可以保存运行过程中的临时结果
@ 变量名—>用户变量与会话有关;
定义初始化时候用set语句(一定要初始化),语法格式:set @a=2;(赋值)
查询获取:select @a;
2、系统变量:
也为一个值和一个数据类型,但不同的是,系统变量在mysql服务器启动时就被引入并初始化为默认值。(就是已经定义好的)
例如:获得系统当前的时间 select current_time;
注意:在系统变量中version和系统日期的值是不可以改变的,但是有些系统变量(如:sql_warnings)是可以通过set语句改变的
二、存储过程
1、为什么使用
mysql服务器在缓存机制做了改进类似预处理的那种方式,由于没有编译器,因此mysql存储过程不会像外部语言(c)编写的程序那么快,提升速度的方法有2种:
降低网络的信息流量和减少用户与服务器之间的交互。因为存储过程是服务器端执行的,所以使用存储过程的话就会减少客户与服务器之间的信息量
2、要求:proc表
create routine(历程的权限)
返回标量值
隐含调用use库名,删除数据库,存储过程也被删除
3、语法格式
create procedure sp_name() //小括号不可以省略
[characteristic...] routine_body; //特征的描述
sql语句
4、例如
1)use test
2) create procedure p1()
begin
/* this is my first procedure */
end;
注意:begin相当于{}的作用
如果sql语句只有一句可以省略begin...end 区域
该存储过程的名称不区分大写小写;(尽量避免与内建函数同名。)
小括号不能省略(可以为空)
通常情况下select不会出现在存储过程中
大部分的ddl,dml都是合法语句
3)调用存储过程
call 存储过程名(参数)
4)带有描述信息的存储过程
create produce p3()
language sql---声明用什么语言来实现存储过程
not—deterministic:返回的结果不确定
5)当语句体内容两天以上的时候,出现结束符号delemiter
- sql语言结构与存储过程
- PL/SQL语言&存储过程&存储函数
- sql 存储过程 层次 树形结构
- ASP与sql存储过程
- sql 视图与存储过程
- SQL存储过程与触发器
- ASP与sql存储过程
- ASP与sql存储过程
- sql 存储过程 与 事务处理
- ORACLE表结构与存储过程导出
- oracle存储过程语法与结构
- VB6 与 SQL存储过程的应用
- SQL扩展存储过程安装与卸载
- ASP与sql存储过程(非常详细)
- ASP与sql存储过程(非常详细)
- SQL与存储过程语法备忘录
- SQL扩展存储过程安装与卸载
- SQL存储过程入门与提高
- MySQL出错代码:1067
- java性能优化
- jquery随记----ajax基于请求加载数据(追加html)
- MyEclipse Enterprise Workbench 9.0 破解及注册机
- build error in hudson
- sql语言结构与存储过程
- oracle学习之法
- 预处理指令
- C#逻辑判断输入值后返回提示信息。
- 一次性关闭模块中所有Activity但不关闭Service
- 你是否在生产正确的产品?
- 博客重开,写点东东做个纪念
- UEFI Drivers & UEFI Driver Model
- MySQL索引分析和优化