当前位置:文档之家› 实验8数据库实验

实验8数据库实验

SQL数据库实验报告实验六133人阅读

create procedure letters_print

as

declare @count int

set @count=0

while @count<26

begin

print char(ascii('a')+@count)

set @count=@count+1

end

execute letters_print

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

2

CREATE PROCEDURE stu_info @name varchar(40)='刘卫平'

AS

SELECT a.学号,姓名,课程编号,分数

FROM student_info a inner join grade ta

ON a.学号=ta.学号

WHERE姓名=@name

execute stu_info '马东'

drop procedure stu_info

0003 马东 0001 87

0003 马东 0002 76

0003 马东 0003 88

0003 马东 0004 78

0003 马东 0005 68

3

()

CREATE PROC stu_grade

AS

SELECT s.姓名,c.课程名称,g.分数

FROM student_info s,curriculum c,grade g

WHERE s.学号='0001'and c.课程编号=g.课程编号and g.学号='0001' ()

EXECute stu_grade

刘卫平大学计算机基础84 刘卫平 C语言程序设计94 刘卫平 SQL Server数据库及应用91 刘卫平英语90

刘卫平高等数学81 ()sp_rename stu_grade,stu_g

4()CREATE PROC stu_p_g @name varchar(40)

AS

SELECT s.学号,c.课程名称,g.分数

FROM student_info s,curriculum c,grade g

WHERE s.姓名=@name and c.课程编号=g.课程编号and g.学号=s.学号

()EXEC stu_p_g '刘卫平'

0001 大学计算机基础84

0001 C语言程序设计94

0001 SQL Server数据库及应用91

0001 英语90

0001 高等数学81

drop procedure stu_p_g

()

sp_helptext stu_p_g

CREATE PROC stu_p_g @name varchar(40)

AS

SELECT s.学号,c.课程名称,g.分数

FROM student_info s,curriculum c,grade g

WHERE s.姓名=@name and c.课程编号=g.课程编号and g.学号=s.学号

5()CREATE PROC stu_en

WITH ENCRYPTION AS

SELECT*FROM student_info

WHERE性别='男'

()EXEC stu_en

0001 刘卫平男1980-10-01 00:00:00.000 衡阳市东风路78号NULL 0002 张卫民男1980-12-02 00:00:00.000 东阳市八一北路25号NULL 0003 马东男1980-07-04 00:00:00.000 长岭市五一路785号NULL 0004 钱达理男1980-05-10 00:00:00.000 滨海市洞庭大道278号NULL 0005 东方牧男1980-07-13 00:00:00.000 东方市中山路25号NULL 0006 郭文斌男1980-06-04 00:00:00.000 长岛市解放路25号NULL

()DROP PROCEDURE stu_en

6()CREATE PROC stu_g_r @xh int

AS

SELECT c.课程名称,g.分数

FROM student_info s,curriculum c,grade g

WHERE s.学号=@xh and s.学号=g.学号and c.课程编号=g.课程编号

()EXEC stu_g_r 0002

大学计算机基础79

C语言程序设计76

SQL Server数据库及应用72

英语73

高等数学93

()DROP PROC stu_g_r

7

8

CREATE TRIGGER insert_g_tr

ON grade FOR INSERT

AS

IF EXISTS(SELECT课程编号FROM curriculum WHERE课程编号=(SELECT课程编号FROM Inserted))

BEGIN

PRINT'记录插入成功'

END

ELSE

BEGIN

PRINT'不能插入记录'

END

9 CREATE TRIGGER de_c_tr

before delete

ON curriculum for each row

begin

rasie_application_error(-20001,'不能被去掉此表中的记录') end

相关主题
文本预览
相关文档 最新文档