数据库存储过程的习题

数据库存储过程的习题,第1张

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[book_total]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[book_total]

GO

CREATE procedure book_total (@allvalue int output)

as

begin

select @allvalue = Sum(价格) from book

end

GO

CREATE TABLE STAFF (ID INT IDENTITY(1,1),FNAME VARCHAR(10),LNAME VARCHAR(10),SSN VARCHAR(10),SEX VARCHAR(10),DNAME VARCHAR(10),DEPT_NO CHAR(3))

INSERT INTO STAFF VALUES('A','AA','00-1','F','AAA','001')

INSERT INTO STAFF VALUES('B','BB','00-2','F','BBB','002')

GO

--测试数据

CREATE PROCEDURE GET_STAFFINFO(@DEPT_NO CHAR(3))

AS

SELECT * FROM STAFF WHERE DEPT_NO=@DEPT_NO

GO

--在COMPANY数据库中,编写一存储过程:输入参数为部门编号,查询该部门员工的FNAME,LNAME,SSN,SEX和DNAME信息

EXEC GET_STAFFINFO '001'

GO

--调用前面创建的存储过程,查询部门5的员工信息

CREATE FUNCTION GET_STAFFNO(@DEPT_NO CHAR(3))

RETURNS INT

AS

BEGIN

DECLARE @I INT

SELECT @I=COUNT(*) FROM STAFF WHERE DEPT_NO=@DEPT_NO GROUP BY DEPT_NO

RETURN @I

END

GO

--在COMPANY数据库中,编写一自定义函数:自变量为部门编号,返回值为该部门的员工总数

SELECT DBO.GET_STAFFNO('001')

GO

-- 调用前面创建的自定义函数,查询所有的部门编号,部门名称以及该部门的员工人数

DROP TABLE STAFF

DROP PROC GET_STAFFINFO

DROP FUNCTION GET_STAFFNO

是这样吗 不明白HI我


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10086689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存