五、SQL语句:存储过程


SQL语句的存储过程分为不带参数的存储过程和带参数的存储过程
下面我们通过例子看一下怎样去定义

备注:以下例子均在SQL Server 2000中执行通过

一、不带参数的存储过程

1
2
3
4
5
6
7
8
9
10
11
12
/*首先从系统数据表sysobjects中查询是否存在名为stu_cj的存储过程,如果存在,删除*/
IF EXISTS( SELECT  name FROM sysobjects WHERE name = 'wo' AND TYPE = 'p')
DROP PROCEDURE wo
GO

/*创建存储过程*/
CREATE PROCEDURE wo
AS
SELECT DISTINCT COUNT(职工号) AS '职工个数'FROM worker
GO
/*执行存储过程*/  
EXEC wo

执行结果如下:

二、带参数的存储过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*首先从系统数据表sysobjects中查询是否存在名为stu_cj的存储过程,如果存在,删除*/
IF EXISTS( SELECT  name FROM sysobjects WHERE name = 'stu_cj' AND TYPE = 'p')
DROP PROCEDURE stu_cj
GO

/*创建存储过程*/
CREATE PROCEDURE stu_cj
@sex  CHAR(2) = '女',@de CHAR(1) --变量@sex默认值为'女'
AS
SELECT w.姓名,d.部门名,s.工资
  FROM worker w,salary s,depart d
WHERE  w.职工号 = s.职工号
  AND  w.部门号 = d.部门号
  AND  w.性别   = @sex
  AND  d.部门号 = @de
GO
/*执行存储过程*/  
EXEC stu_cj @sex='男',@de=2
GO
EXEC stu_cj @de=3

执行结果如下:

很简单吧^_^

Tags:
文 / 甲乙丙丁
LEAVE A REPLY

loading