sqlserver数据库实验代码-2023修改整理_第1页
sqlserver数据库实验代码-2023修改整理_第2页
sqlserver数据库实验代码-2023修改整理_第3页
sqlserver数据库实验代码-2023修改整理_第4页
sqlserver数据库实验代码-2023修改整理_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐sqlserver数据库实验代码重庆交通高校

同学试验报告

试验课程名称数据库应用与设计

开课试验室xxxxxxxxx

学院xxx年级2022专业班xxxx

同学姓名xxxxxx学号xxxxxx

开课时光2022至2022学年第2学期

试验2建立表和定义完整性约束

试验名称

建立模式、表和定义完整性约束

试验内容

试验目的

娴熟把握表的建立和数据完整性速描定义办法,实践DBMS提供的数据完整性功能,加深对数据完整性的理解。

试验办法

在试验一建立数据库的基础上用CREATESCHEMA命令建立模式,用CREATETABLE命令建立表并定义数据完整性约束,用ALTERTABLE命令修改表结构。

试验要求

1、用CREATESCHEMA命令建立模式(自己命名模式名称)。

2、在定义的模式下参照图1和表1使用CREATETABLE命令建立表并定义完整性约束。

3、使用ALTERTABLE命令按如下要求修改表结构:

a)为订购单增强一个新的字段“完成日期”,类型为日期时光型,默认是空值。

b)为订单明细表的“数量”字段重新定义约束:大于0、小于等于1000的正整数,不允许为空值。

c)将供给商表的供给商名字段的类型修改为varchar(30)。

试验步骤

createtable仓库

(仓库号nchar(6)primarykey

check(仓库号like'[A-Z][A-Z][0-9][0-9][0-9][0-9]'),

城市nchar(10)notnullunique,

面积floatcheck(面积>=50));

createtable职工

(职工号nchar(8)primarykeycheck(职工号like'____[0-9][0-9]'),

仓库号asconvert(nchar(6),substring(职工号,1,6))persistednotnullforeignkeyreferences仓库(仓库号),

经理nchar(8)foreignkeyreferences职工(职工号),

工资moneycheck(工资>=1000and工资0),

数量intnotnullcheck(数量>0));

createtriggerdgdmxon订购单明细

afterinsert

asbegin

declare@订购单号nchar(6)select@订购单号=订购单号frominserted

update订购单set金额=(selectsum(单价*数量)from订购单明细where订购单号=@订购单号)

where订购单号=@订购单号

end

试验3数据操作和完整性约束的作用

试验名称

数据操作笔完整性约束的作用

试验内容

在试验二的基础上完成数据的插入操作,然后举行部分修改和删除操作,在这些操作中体味数据完整性约束的作用。

试验目的

娴熟把握SQL的INSERT,UPDATE和DELETE命令,深刻理解数据完整性约束的作用以及约束时机。

试验办法

在试验二的基础上首先用INSERT命令插入各个表的记录,然后使用UPDATE和DELETE命令对部分记录举行修改和删除操作。

试验要求

1、自行设计各个表的记录,其中仓库表至少5条记录,职工表至少10条记录、供给商表至少5条记录,订购单表至少20条记录,订购单明细表至少50条记录。

2、使用INSERT命令完成记录的插入操作,要求分离设计若干违背实体完整性、参照完整性和用户定义完整性约束的插入操作,并分析缘由。

3、设计若干删除操作,体味执行删除操作时检查参照完整性规章的效果(要求涉及否决删除、空值删除和级联删除等不同的处理方式)。

4、设计若干更新操作,体味执行更新操作时检查实体完整性规章、参照完整性规章和用户定义完整性规章的效果。

5、将x城市仓库的职工的工资提高10%。

6、用UPDATE语句完成订购单表金额字段的计算(提醒:某张订购单的金额为该订购单全部订购项目(订购单明细)单价乘以数量的总和)。

7、设计2~3个删除操作,它需要另外一个表中的数据作为删除条件(例如,按指定的供给商名称删除订购单记录)。

8、在试验报告中给出详细的记录和设计的操作,并针对各种数据完整性检查,给出详细的分析和研究。

试验步骤

insertinto仓库(仓库号,城市,面积)values('GH1111','重庆',99);

insertinto仓库(仓库号,城市,面积)values('GH2222','北京',199);

insertinto仓库(仓库号,城市,面积)values('GH3333','上海',299);

insertinto仓库(仓库号,城市,面积)values('GH4444','厦门',399);

insertinto仓库(仓库号,城市,面积)values('GH5555','杭州',499);

insertinto职工(职工号,经理,工资)values('GH111111','GH111111',9999);insertinto职工(职工号,经理,工资)values('GH111122','GH111122',9999);insertinto职工(职工号,经理,工资)values('GH222211','GH222211',9999);insertinto职工(职工号,经理,工资)values('GH222222','GH222222',9999);insertinto职工(职工号,经理,工资)values('GH333311','GH333311',9999);insertinto职工(职工号,经理,工资)values('GH333322','GH333322',9999);insertinto职工(职工号,经理,工资)values('GH444411','GH444411',9999);insertinto职工(职工号,经理,工资)

values('GH444422','GH444422',9999);

insertinto职工(职工号,经理,工资)

values('GH555511','GH555511',9999);

insertinto职工(职工号,经理,工资)

values('GH555522','GH555522',9999);

insertinto供给商(供给商号,供给商名,地址)values('S111','高回报','杭州');

insertinto供给商(供给商号,供给商名,地址)values('S222','高回报','杭州');

insertinto供给商(供给商号,供给商名,地址)values('S333','高回报','杭州');

insertinto供给商(供给商号,供给商名,地址)values('S444','高回报','杭州');

insertinto供给商(供给商号,供给商名,地址)values('S555','高回报','杭州');

insertinto订购单(职工号,供给商号,订购单号)values('GH111111','S111','OR1111');

insertinto订购单(职工号,供给商号,订购单号)values('GH111111','S111','OR1112');

insertinto订购单(职工号,供给商号,订购单号)values('GH111122','S111','OR1113');

insertinto订购单(职工号,供给商号,订购单号)values('GH111122','S111','OR1114');

insertinto订购单(职工号,供给商号,订购单号)values('GH222211','S222','OR2222');

insertinto订购单(职工号,供给商号,订购单号)values('GH222211','S222','OR2221');

insertinto订购单(职工号,供给商号,订购单号)values('GH222222','S222','OR2223');

insertinto订购单(职工号,供给商号,订购单号)values('GH222222','S222','OR2224');

insertinto订购单(职工号,供给商号,订购单号)values('GH333311','S333','OR3333');

insertinto订购单(职工号,供给商号,订购单号)values('GH333311','S333','OR3331');

insertinto订购单(职工号,供给商号,订购单号)values('GH333322','S333','OR3332');

insertinto订购单(职工号,供给商号,订购单号)values('GH333322','S333','OR3334');

insertinto订购单(职工号,供给商号,订购单号)values('GH444411','S444','OR4444');

insertinto订购单(职工号,供给商号,订购单号)values('GH444411','S444','OR4441');

insertinto订购单(职工号,供给商号,订购单号)values('GH444422','S444','OR4442');

insertinto订购单(职工号,供给商号,订购单号)values('GH444422','S444','OR4443');

insertinto订购单(职工号,供给商号,订购单号)values('GH555511','S555','OR5555');

insertinto订购单(职工号,供给商号,订购单号)values('GH555511','S555','OR5551');

insertinto订购单(职工号,供给商号,订购单号)values('GH555522','S555','OR5552');

insertinto订购单(职工号,供给商号,订购单号)

values('GH555522','S555','OR5553');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR1111','01','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR1111','02','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR1111','03','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR1111','04','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR1111','05','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR1111','06','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR1111','07','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR1111','08','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR1111','09','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR1111','10','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR2222','11','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR2222','12','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR2222','13','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR2222','14','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR2222','15','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR2222','16','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR2222','17','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR2222','18','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR2222','19','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR2222','20','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR3333','21','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR3333','22','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR3333','23','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR3333','24','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR3333','25','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR3333','26','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR3333','27','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR3333','28','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR3333','29','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR3333','30','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR4444','31','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR4444','32','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR4444','33','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR4444','34','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR4444','35','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR4444','36','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR4444','37','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR4444','38','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR4444','39','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)values('OR4444','40','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR5555','41','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR5555','42','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR5555','43','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR5555','44','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR5555','45','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR5555','46','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR5555','47','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR5555','48','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR5555','49','哈根达斯','50','100');

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR5555','50','哈根达斯','50','100');

update职工set工资=工资*(1+wheresubstring(职工号,1,6)in(select仓库号from仓库where城市='北京');

试验4数据查询

试验名称

使用SQLSELECT语句的数据查询操作。

试验内容

在试验二和试验三的基础上完成规定的查询操作。试验目的:娴熟把握SQLSELECT命令。

试验办法

在试验二和试验三的基础上使用SQLSELECT命令完成试验要求中所规定的各种查询。试验要求

用SQLSELECT命令完成以下查询(1)~(12)是普通容易查询:

1.职工表查询全部工资值(考虑去掉和不去掉重复值两种状况)。

2.查询仓库表中所有信息。

3.查询工资多于x元的职工号。

4.查询哪些仓库有工资多于y元的职工。

5.给出在仓库x或y(x,y是仓库号)工作,并且工资少于z元的职工号。

6.查询工资在x~y元范围内的职工信息(x>y)。

7.从供给商表中查询出所有公司的信息(不要工厂或其他供给商的信息,即供给商名最后两个汉字是“公司”的记录)。

8.查询城市不是x的所有仓库信息。

9.查询尚未确定供给商的订购单(即订购单的供给商号为空值的记录)。

10.查询已经确定了供给商的订购单信息。

11.按职工的工资值升序列出所有职工信息。

12.先按仓库号升序,再按工资降序列出所有职工信息。

(13)~(21)使用衔接查询:

13.查询工资多于x元的职工号和他们所在的城市。

14.查询工作在面积大于x的仓库的职工号以及这些职工工作所在的城市。

15.按照职工表列出上一级经理及其职工(被其领导)的清单(即列出谁领导谁的清单)。

16.列出仓库表和职工表的广义笛卡儿积的去处结果。

17.按照仓库表和职工表的广义笛卡儿积得到仓库表和职工表举行自然衔接的结果。

18.查询供给商-订购单信息,查询结果中包括供给商号、供给商名、订购单号和订购日期

这4个字段。

19.查询供给商-订购单信息,查询结果中包括供给商号、供给商名、订购单号和订购日期

这4个字段,要求结果中列出全部供给商信息(包括目前没有订购单的)。

20.查询供给商-订购单信息,查询结果中包括供给商号、供给商名、订购单号和订购日期

这4个字段,要求结果中能够反映目前没有确定供给商的订购单状况。

21.查询供给商-订购单信息,查询结果中包括供给商号、供给商名、订购单号和订购日期

这4个字段,要求结果即能反映目前没有订购半日的供给商信息,又能反映目前没有确定供给商的订购单状况。

(22)~(31)使用嵌套查询(注重使用ANY,ALL和EXISTS):

22.查询哪些城市至少有一个仓库的职工的工资为x元。

23.查询全部职工的工资都多于x元的仓库的信息。

24.查询和职工x挣同样工资的全部职工信息。

25.查询哪些城市的仓库向地址为x的供给商发出了订购单。

26.查询地址为x的供给商目前有y城市仓库的订购单的供给商的名称(分离用嵌套查询和

衔接查询完成,分析各自的效率)。

27.查询有职工的工资大于或等于x仓库中任何一名职工的工资的仓库号。

28.查询有职工的工资大于或等于x仓库中全部职工的工资的仓库号。

29.列出每人职工经手的具有最高金额的订购单信息。

30.查询目前还没有职工的仓库的信息。

31.查询目前至少有一个职工的仓库的信息。

(32)~(42)汇总和分组查询:

32.查询目前仓库所在城市的数目。

33.查询目前需要支付的职工工资的总数。

34.查询x和y两个城市的仓库职工的工资总和。

35.查询全部职工的工资都多于x元的仓库的平均面积。

36.查询工资大于x元的职工所经手的订购单的最高金额。

37.查询每个仓库的职工的平均工资。

38.查询每个仓库的订购单的最高金额、最低金额和平均金额。

39.查询至少有5个订购项目的每张订购单的平均金额。

40.列出职工所有记录并计算各仓库的平均工资和工资小计,最后给出全体职工的平均工资

和工资总和(使用COMPUTE…BY和COMPUTE)。

41.列出所有订购单明细并计算各订购单的金额,最后给出全部订购单的平均金额和金额总

计(使用COMPUTE…BY和COMPUTE)。

42.列出所有订购单记录并计算全部订购单的平均金额和金额总计(使用COMPUTE)。

试验步骤

工资from职工;

*from仓库;

职工号from职工where工资>9999;

仓库号from仓库where仓库号in(select仓库号from职工where工资>9999);

职工号from职工where工资9000and工资10000;

职工号,城市from职工join仓库on面积>300;

经理,职工号from职工where经理='GH111111';

distinct*from职工,仓库;

distinct*from职工crossjoin仓库wheresubstring(职工号,1,6)=仓库.仓库号;

供给商.供给商号,供给商名,订购单号,订购日期from供给商join订购单on供给商.供给商号=订购单.供给商号;

供给商.供给商号,供给商名,订购单号,订购日期from供给商leftjoin订购单on供给商.供给商号=订购单.供给商号;

供给商.供给商号,供给商名,订购单号,订购日期from供给商rightjoin订购单on供给商.供给商号=订购单.供给商号;

供给商.供给商号,供给商名,订购单号,订购日期from供给商fulljoin订购单on供给商.供给商号=订购单.供给商号;

城市from仓库where仓库号in(selectsubstring(职工号,1,6)from职工where工资

=9999);

*from仓库wherenotexists(select*from职工where工资=any(select工资from职工wheresubstring(职工号,1,6)='GH1111');

substring(职工号,1,6)from职工where职工.工资>=all(select工资from职工wheresubstring(职工号,1,6)='GH1111');

*from订购单where金额in(selectmax(金额)from订购单groupby职工号);

*from仓库where仓库号notin(selectsubstring(职工号,1,6)from职工);

*from仓库where仓库号in(selectsubstring(职工号,1,6)from职工);

count(城市)from仓库;

sum(工资)from职工;

sum(工资)from职工wheresubstring(职工号,1,6)in(select仓库号from仓库where城市='北京'or城市='上海');

avg(面积)from仓库where仓库号in(selectsubstring(职工号,1,6)from职工where工资>10000);

max(金额)from订购单where职工号in(select职工号from职工where工资>10000);

avg(工资)from职工wheresubstring(职工号,1,6)in(select仓库号from仓库);

max(金额)from订购单wheresubstring(职工号,1,6)in(select仓库号from仓库);

selectmin(金额)from订购单wheresubstring(职工号,1,6)in(select仓库号from仓库);

selectavg(金额)from订购单wheresubstring(职工号,1,6)in(select仓库号from仓库);

avg(单价*数量)from订购单明细groupby订购单号havingcount(序号)>=5;

职工.职工号,经理,工资from职工join仓库onsubstring(职工号,1,6)=仓库.仓库号orderby仓库.仓库号

computeavg(工资),sum(工资)by仓库.仓库号

computeavg(工资),sum(工资);

订购单明细.订购单号,序号,产品名称,单价,数量,单价*数量from订购单明细join订购单on

订购单明细.订购单号=订购单.订购单号orderby订购单.订购单号

computesum(单价*数量)by订购单.订购单号

computeavg(单价*数量),sum(单价*数量);

订购单.职工号,供给商号,订购单号,订购日期,金额from订购单

computeavg(金额),sum(金额);

试验5视图的应用

试验名称

视图的建立和应用。

试验内容

在试验三和试验三的基础上定义视图,并在视图上完成查询、插入、更新和删除操作。试验目的

把握视图定义和应用的办法,体味视图和基本表的异同之处。

试验办法

在试验二和试验三的基础上用CREATEVIEW命令定义视图,然后使用SELECT命令完成查询,使用INSERT,UPDATE和DELETE命令分离完成插入、更新和删除操作。

试验要求

1、在试验二建立的基本表的基础上,按如下要求设计和建立视图:

a)基于单个表按投影操作定义视图。

b)基于单个表按挑选操作定义视图。

c)基于单个表按挑选和投影操作定义视图。

d)基于多个表按照衔接操作定义视图。

e)基于多个表按照嵌套查询定义视图。f)定义含有虚字段的视图。

2、分离在定义的视图上设计一些查询(包括基于视图和基本表的衔接或嵌套查询)。

3、在不同的视图上分离设计一些插入、更新和删除操作,分状况研究哪些操作可以胜利完

成,哪些操作不能完成,并分析缘由。

4、在试验报告中要给出详细的视图定义要求和操作要求,并针对各种状况做出详细的分析

和研究。

试验步骤

1.

createviewview1

as

select职工号,工资from职工

2.

createviewview2

as

select*from职工where工资>10000

3.

createviewview3

as

select订购单号,金额from订购单where职工号='GH222222'

4.

createviewview4

as

select仓库.仓库号,城市from仓库join职工onsubstring(职工号,1,6)=仓库.仓库号join订购单on订购单.职工号=职工.职工号where面积>200

5.

createviewview5

as

select城市from仓库where仓库.仓库号in(select职工.仓库号from职工where职工.职工

号in(select订购单.职工号from订购单where金额>10000))

viewview6

as

select订购单号,sum(单价*数量)金额from订购单明细groupby订购单号

selectview1.职工号fromview1joinview2onview1.职工号=view2.职工号whereview2.工资>10000

selectview4.城市fromview4whereview4.仓库号in(selectview2.仓库号fromview2whereview2.工资>10000)

insertintoview1values('GH555533','')

updateview4set城市='邯郸'where仓库号='GH3333'

deleteview3where订购单号='OR2223'

试验6游标

试验名称

游标的设计和使用

试验内容

在SQLServer环境下使用T-SQL的游标功能完成指定的操作。

试验目的

理解和把握游标的使用办法

试验办法

在SQLServer环境下使用游标完成指定的操作。

试验要求

1、定义一个游标,其内容是按单价升序列出的所有订购单及其明细信息。

2、逐一读出游标中的记录,并显示。

试验步骤

1.DECLARE@职工号nchar(8),@供给商号nchar(4),@订购单号nchar(6),@订购日期datetime,@金额money

DECLARECOMPUTER_CURSORCURSOR

FORSELECT职工号,供给商号,订购单号,订购日期,金额from订购单

OPENCOMPUTER_CURSOR

PRINT'职工号,供给商号,订购单号,订购日期,金额'

FETCHFROMCOMPUTER_CURSORINTO@职工号,@供给商号,@订购单号,@订购日期,@金额

WHILE@@FETCH_STATUS=0

BEGIN

PRINT@职工号+''+@供给商号+''+@订购单号+''+convert(nchar(17),@订购日期)+'

'+convert(nchar(11),@金额)

FETCHFROMCOMPUTER_CURSORINTO@职工号,@供给商号,@订购单号,@订购日期,@金额

END

CLOSECOMPUTER_CURSOR

2.DECLARE@订购单号nchar(4),@序号tinyint,@产品名称nchar(20),@单价money,@数量intDECLARECOMPUTER_CURSOR1CURSOR

FORSELECT订购单号,序号,产品名称,单价,数量from订购单明细orderby单价asc

OPENCOMPUTER_CURSOR1

PRINT'订购单号,序号,产品名称,单价,数量'

FETCHFROMCOMPUTER_CURSOR1INTO@订购单号,@序号,@产品名称,@单价,@数量

WHILE@@FETCH_STATUS=0

BEGIN

PRINT@订购单号+''+convert(nchar(2),@序号)+''+@产品名称+''+convert(nchar(9),@单价)+''+convert(nchar(3),@数量)

FETCHFROMCOMPUTER_CURSOR1INTO@订购单号,@序号,@产品名称,@单价,@数量

END

CLOSECOMPUTER_CURSOR1

试验7存储过程

试验名称

存储过程的设计和使用

试验内容

在SQLServer环境下设计、创建并执行存储过程。

试验目的

理解和把握数据库存储过程的创建和调用办法。

试验办法

在SQLServer环境下,按要求创建和调用存储过程完成指定的操作。

试验要求

1、建立如下存储过程

(1)查询工资范围在x元到y元范围内的职工信息。

(2)查询在某年某月某日之后签订的订购单的有关供给商信息。

(3)更新操作,将某仓库的订购单的订购日期统一修改为一个指定日期。

2、在客户端以存储过程和输入SQL语句的方式分离执行相同的查询或操作,比较使用和不使用存储过程的区分。

试验步骤

procedure

@xint,@yint

as

select职工.仓库号,职工.职工号,职工.工资,仓库.城市from职工,仓库

where职工.工资>=@xand职工.工资@xorderby订购单号

execute'2022-4-10'

procedure

@xdatetime

as

update订购单

set订购日期=@x

wheresubstring(订购单.职工号,1,6)='GH1111'

execute'2022-5-92

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论