-
什么是存储过程,了解存储过程的优点
1.存储过程与c#和Java中的方法类似
2.用来执行管理任务或应用复杂的业务规则
3.存储过程可以带参数,也可以返回结果
它的优点:
1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。
2.允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。
3.减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。
4.更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。
-
掌握常用的系统存储过程的作用
--列出SQL Server实例中的数据库
sp_databases
--返回SQL Server、数据库网关或基础数据源的特性名和匹配值的列表
sp_server_info
--返回当前环境中的存储过程列表
sp_stored_procedures
--返回当前环境下可查询的对象的列表(任何可出现在 FROM 子句中的对象)
sp_tables
select * from sysobjects
---添加或更改SQL Server登录的密码。
sp_password @new=null,@loginame='sa'
--将登录 Victoria 的密码更改为 ok。
EXEC sp_password NULL, 'ok', 'Victoria'
--将登录 Victoria 的密码由 ok 改为 coffee。
EXEC sp_password 'ok', 'coffee'
--更改配置选项
use master
go
exec sp_configure 'recovery interval','3'
reconfigure with override
go
--查看数据库文件
sp_helpdb tmp
use tmp
go
sp_helpfile
go
--分离数据库
use master
go
sp_detach_db tmp
go
--sp_helpdb tmp --error
--go
-
掌握如何创建存储过程
CREATE DATABASE Demo --数据库 GO USE Demo GO CREATE TABLE DemoTable --表 ( Id INT PRIMARY KEY IDENTITY , Name NVARCHAR(50) NOT NULL , ) CREATE PROC P_Insert --创建存储过程 @name NVARCHAR(50) AS INSERT INTO DemoTable VALUES(@name) GO --EXEC P_Insert "DemoName" --执行存储过程
-
RAISERROR的用法
raiserror 是由单词 raise error 组成
raise 增加; 提高; 提升
raiserror 的作用: raiserror 是用于抛出一个错误。[ 以下资料来源于sql server 2005的帮助 ]
其语法如下:
RAISERROR ( { msg_id | msg_str | @local_variable }
{ ,severity ,state }
[ ,argument [ ,...n ] ]
)
[ WITH option [ ,...n ] ]
-
掌握如何调用存储过程
定义存储过程的语法
create proc[edure] 存储过程名
[@参数 数据类型[=默认值|OUTPUT],
@参数n 数据类型 [= 默认值|OUTPUT]]
AS
T-SQL语句
GO
- 和C#的函数一样参数可选
- 参数分为输入参数,输出参数
- 输入参数允许有默认值
- 调用的语法:EXEC[UTE]过程名[参数]