SQL server 2005(存储过程)
一.概述
存储过程是一组预先编译好的T--SQL代码,强调一点:这些代码是预编译好的,即在执行时就不用在进行编译了,这样会提高程序的运行效率。它类似于其他高级语言里的过程,即完成特定功能的函数。存储过程分两类:系统提供的存储过程,用户自己定义的存储过程,系统定义的以 sp_为前缀。
二.存储过程
1.两种方法创建存储过程:
(1).通过CREATE PROCEDURE命令创建
格式:
CREATE PROCEDURE <过程名>
AS T--SQL语句
一个存储过程的最大尺寸为128M,用户的存储过程必须建立在当前数据库里。建立存储过程首先得先删除原有的存储过程,再创建同名的存储过程。
(2).运用企业管理器创建。
2.管理存储过程
可以用SP_HELPTEXT命令在查询分析器中查看创建存储过程的文本信息,可以使用SP_HELP查看存储过程的一般性息,可以用SP_RENAME来修改存储过程名。
例如:
USE 销售管理
GO
SP_HELPTEXT
GO
返回信息为创建存储过程的相关语句。
3.执行存储过程
注意,批处理执行。
格式:
EXCUTE(or EXEC) <过程名> 参数
4.删除存储过程
格式:
DROP PROCEDURE 过程名
5.修改存储过程
格式:
ALTER PROCEDURE 过程名
AS
SQL 语句序列
三.存储过程的优点
1.执行速度快。存储过程是一组预编译好的SQL代码,在创建时已经经过了语法检查和性能优化,因此在执行时不必重复这些步骤。
2.模块化的程序设计。用户可以按照特定的功能设计不同的存储过程供共享使用。
3.减少网络通信量。其包括了大量的T--SQL代码,使用时只需要用一条语句来调用即可,这大大减少了网络上的数据传输。
4.保证系统的安全性。用户通过存储过程来访问操作数据,但不能对数据库进行操作,保护了数据的安全性。
相关文档:
一.视图(VIEW)
定义:视图是一张虚拟的表,其内容是从一张或多张表中查询得来的结果集。
描述:视图是存储在系统目录中的信息,她并没有真正存储数据,而是已存表的投影。视图的属性是按照一个查询的规定从一个或者多个表中导出的,是已存表的过滤器。她是一张“虚表”,从一张表或者多张表中派生出来的,其 ......
SQL注入是最常见的攻击方式之一,它不是利用操作系统或其它系统的漏洞来实现攻击的,而是程序员因为没有做好判断,被不法
用户钻了SQL的空子,下面我们先来看下什么是SQL注入:
比如在一个登陆界面,要求用户输入用户名和密码:
& ......
1.曾经不小心把开发库的数据库表全部删除,当时吓的要死。结果找到下面的语句恢复到了1个小时之前的数据!很简单。
注意使用管理员登录系统:
select * from 表名 as of timestamp sysdate-1/12 //查询两个小时前的某表数据!既然两小时以前的数据都得到了,继续怎么做,知道了吧。。
如果drop了表,怎么办??见下 ......
-- 说明:
-- 1. 要删除表 table_name, 须先判断该表是否正被数据库中其它表所引用.
-- 2. 如果未被引用, 可直接 DROP TABLE table_name; 否则必须先删除引用表的约束, 再 DROP TABLE table_name.
-- 3. 另外, table_name 是否正引用其它表的情况无须考虑.
-- 创建主表
CREATE TABLE tParent
......
执行 数据库查询时,有完整查询和模糊查询之分。
一般模糊语句如下:
SELECT 字段 from 表 WHERE 某字段 Like 条件
其中关于条件,SQL提供了四种匹配模式:
1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请运用两个百分号(%%)表示。
比如 SELECT * from [user] WHERE u_na ......