mark,等看懂了,再进行修改
按照惯例,首先要讲讲它的优点:
(1)
(2)
(3)
(4)
(5)
下面来介绍一下存储过程的语法:
举个例子,查询一个店的门类(比如大商场里的家电类,服装类)的信息的SQL语句
SELECT DepartmentID, Name, Description FROM Department
Department为门类信息的名,DepartmentID(主键ID), Name(门类名), Description(门类介绍)为字段。
那么他的存储过程为:
CREATE PROCEDURE GetDepartments
FROM Department
存储过程中还有两个参数:
RECOMPILE:因为数据库在它第一次执行存储过程时就生成并缓存了存储过程的执行计划,这个参数表示:每次运行存诸过程时,都重新编绎。
CREATE PROCEDURE GetDepartments
WITH ENCRURTION, RECOMPILE
FROM Department
大家知道在SQL语句中都有WHERE关键字,这个关键字后面一般会加上查询条件,也就说某些SQL语句从数据库中获取的数据是依赖于外部参数的,显然上面的语句是不完整的,创建带参数的存储过程的语法如下:
CREATE PROCEDURE <procedure name>
[(
)]
AS
方括号中的选项是可选的。参数也是可选的,但如果要指定,就必须放在圆括号中。对于每个参数,至少必须提供名称和数据类型。
可以为参数提供一个默认值。这样,如果调用函数没有给参数提供一个值,就会用默认值代替。也可以指定参数是输入参数还是输出参数。在默认的情况下,所有的参数都是输入参数。输出参数的值是在存储过程中设置的,在存储过程执行之后,由调用函数读取。
存储过程参数的处理和其他SQL一样,它们的名字都是以@开头的,如@DepartmentID等。在存储过程里给输出参数赋值的最简单的语法,就像下面这样:
SELECT @ DepartmentID=5
下面举一个简单的带参数的存储过程的例子:
现在介绍下在VS2005中如何把GetDepartments 存储过程加到数据库中。(^_^别的俺也不会)
(1)确保在Database Explorer(数据库资源管理器)中展开并选中数据库的数据连接。选择Data---Add New----Stored Procedure。或是,在Database Explorer中右击存储过程节点,选择Add New Stored Procedure.
(2)把默认的文本替换为你的GetDepartments存储过程:
(4) 现在,测试一下你输入的存储过程吧,看看它的实际工作。在Database Explorer中,找到GetDepartments存储过程节点,然后选择Execute(执行),在运行了存储过程之后,在输出窗口中可以看到执行结果。