数据库存储过程实验(关于数据库存储过程的实验)

:暂无数据 2026-07-15 15:40:01 :0

数据库存储过程实验(关于数据库存储过程的实验)

这篇文章给大家聊聊关于数据库存储过程实验,以及关于数据库存储过程的实验对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

本文目录

关于数据库存储过程的实验

USE
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

create procedure
as
begin
--SQL语句
end

oracle数据库存储过程实例

创建存储过程的语句如下:
CREATE PROCEDURE<过程名>
<参数1》,「方式l]<数据类型1》,
<参数2》,<数据类型2》,
……)
IS|AS (is或as完全等价)
BEGIN
PL/SQL过程体
END<过程名>
例如,下面是一个删除表的存储过程:
--参数:tableName 要删除的表名
create or replace procedure del_table(tableName varchar2) as
--定义变量
sql_del_table long;
begin
--构造sql语句
sql_del_table := ’drop table ’ || tableName;
--执行
EXECUTE IMMEDIATE sql_del_table;

end del_table;

数据库实验-sql存储过程

CREATE PROCEDURE P1
@XH VARCHAR(10) AS
IF @XH NOT IN(SELECT 学号 FROM 选课) INSERT 选课 VALUES(@XH,’1’,0)
ELSE IF NOT EXISTS(SELECT * FROM 选课 WHERE 学号=@XH AND 成绩》=60)
DELETE FROM 选课 WHERE 学号=@XH
ELSE SELECT * FROM 选课 WHERE 学号=@XH

用数据库创建存储过程,求大神解答啊,老师布置的作业,在线坐等

例:

• 1、在 student 数据库中 , 创建一个名称为

myproc的存储过程, 该存储过程的功能是从
数据表student_info中查询所有男同学的信
息。
USE student
GO
CREATE PROCEDURE myproc AS
SELECT * FROM student_info WHERE sex = ’
男’
GO
• 2、 创建带有参数的存储过程
例: 在student数据库中, 创建一个名称为
InsertRecord的存储过程, 该存储过程的
功能是向数据表stud_info中插入一条记
录, 新记录的值由参数提供。
USE student
GO
CREATE PROCEDURE InsertRecord
(
@sno char(6),
@sn char(20),
@age numeric(5),
@sex char(2),
@dept char(10)
)
AS
INSERT INTO stud_info
VALUES(@sno,@sn,@sex,@age,@dept)
GO
• 3、 创建具有参数默认值的存储过程
例:在 student 数据库中 , 创建一个名称为
InsertRecordDef的存储过程, 该存储过程的
功能是向数据表student中插入一条记录, 新
记录的值由参数提供, 如果未提供系别dept
的值时, 由参数的默认值代替。
USE student
GO
CREATE PROCEDURE InsertRecordDef
(
@sno char(6),
@sn char(20),
@age numeric(5),
@sex char(2),
@dept char(10)=’无’
)
AS
INSERT INTO stud_info
VALUES(@sno,@sn, @sex , @age, @dept)
GO
•

求SQL数据库实验报告

*****系实验(上机)报告
课程名称 数据库系统基础
实验名称 数据查询与存储过程
学号 33
学生姓名 嘻习喜戏
成绩
年 月 日
序号 5 实验名称 SQL数据查询
实验目的:
熟练掌握SQL SELECT 语句,能够运用该语句完成各种查询。
实验内容:
用SQL SELECT 语句完成下列查询:
1. 查询客户表中的所有记录。
2. 从订购单表中查询客户号信息(哪些客户有订购单)。
3. 查询单价在20元以上(含)的产品信息。
4. 查询单价在20元以上(不含)的产品名称为牛奶的产品信息。
5. 查询单价在20元以上(不含)的产品名称为牛奶或德国奶酪的产品信息。
6. 查询有2003年7月订购单的客户名称、联系人、电话号码和订单号信息。
7. 查询有德国奶酪订货的客户的名称、联系人和电话号码信息。
8. 查询有德国奶酪订购需求的订单名细记录。
9. 查询所有订购数量(即订单名细中每个订购项目的数量)都在10个以上的订购单的信息。
10. 找出和德国奶酪同等价位的所有产品信息。
11. 查询单价范围在10元到30元范围内的产品信息(使用BETWEEN…AND)。
12. 从客户表中查询出客户名称中有“公司”二字的客户信息(使用LIKE运算符)。
13. 从客户表中查询出客户名称中没有“公司”二字的客户信息(使用NOT LIKE运算符)。
14. 按产品的单价升序列出全部产品信息。
15. 先按产品名称排序,再按单价排序列出全部产品信息。
16. 从产品表中查询共有几种产品。
17. 从订购名细表中查询德国奶酪的订购总数。
18. 计算德国奶酪所有订购的总金额。
19. 求所有订购单的平均金额,在查询结果中列出订购单的个数和平均金额。
20. 求每个订购单订购的项目数和总金额。
21. 求每个客户包含了德国奶酪订购的订单号及其最高金额和最低金额。
22. 求至少有两个订购项目的订购单的平均金额。
23. 找出尚未最后确定订购单(即订购日期为空值的记录)的有关客户信息(客户的名称、联系人和电话号码)和订单号。
24. 找出在2000年1月1日之后签订的订购单的客户信息(客户的名称、联系人和电话号码)、订单号和订购日期。
25. 列出每类产品(相同名称)具有最高单价的产品信息(产品号、名称、规格说明和单价,提示:使用内外层互相关嵌套查询)。
26. 确定哪些客户目前没有订购单(使用谓词NOT EXISTS)。
27. 查询目前有订购单的客户的信息(使用谓词EXISTS)。
28. 查询符合条件的产品信息,要求该产品的单价达到了任意一款产品名称为牛奶的单价的一半(使用ANY或SOME量词)。
29. 查询符合条件的产品信息,要求该产品的单价大于任何一款产品名称为牛奶的单价(使用ALL量词)。
30. 设计如下的连接操作,并分析各自的特点:
•广义笛卡儿积
•内连接
•外连接
•左连接
•右连接
•全连接
掌握存储过程的创建命令,按照题目要求创建存储过程,理解存储过程的作用。
(1) 建立存储过程。查询单价范围在x元到y元范围内的产品信息。
(2) 建立存储过程。查询在某年某月某日之后签订的订购单的客户信息(客户的名称、联系人和电话号码)、订单号和订购日期。
(3) 建立存储过程。将某产品的订购日期统一修改为一个指定日期。
(4) 建立存储过程。删除没有签订单的客户信息。
实验要求:
用SELECT语句完成本次实验,并提交上机报告。
(1) 掌握存储过程的创建命令,按照实验内容的要求创建存储过程,理解存储过程的作用。
(2) 用CREATE PROCEDURE和EXECUTE 语句完成本次实验,并提交上机报告。
实验准备(本实验预备知识和为完成本实验所做的准备):
仔细阅读课本第五章关于SQL的数据查询功能的内容
实验过程(实验的操作过程、遇到的问题及其解决办法或未能解决的问题):
用SQL SELECT 语句完成以上30题查询
实验总结(总结本次实验的收获、未解决的问题以及体会和建议等):
熟练掌握SQL SELECT 语句,能够运用该语句完成各种查询
附录(SQL语句):
--1. 查询客户表中的所有记录。
select * from 客户
--2. 从订购单表中查询客户号信息(哪些客户有订购单)
select 客户号from 订单where 订单号!=null
--3. 查询单价在元以上(含)的产品信息。
select *from 产品where 单价》 20 or 单价=20
--4. 查询单价在元以上(不含)的产品名称为牛奶的产品信息。
select *from 产品where 单价》20 and 产品名称=’牛奶’
--. 查询单价在元以上(不含)的产品名称为牛奶或德国奶酪的产品信息
select *from 产品where 单价》20 and (产品名称=’牛奶’or 产品名称=’德国奶酪’)
--6. 查询有年月订购单的客户名称、联系人、电话号码和订单号信息
select 客户名称,联系人, 电话,订单号from 客户,订单where (year(订购日期)=2003 and month (订购日期)=7)and (订单.客户号=客户.客户号)
--7. 查询有德国奶酪订货的客户的名称、联系人和电话号码信息。
select 客户名称,联系人, 电话from 客户
where
(客户号= (select 客户号from 订单where(订单号 =(select 订单号from 订单明细
where 产品号= ( select 产品号from 产品where 产品名称= ’ 德国奶酪’ )))))
--8. 查询有德国奶酪订购需求的订单名细记录。
select * from 订单明细where (数量!=null and 产品号=(select 产品号from 产品where 产品名称= ’德国奶酪’))
--9. 查询所有订购数量(即订单名细中每个订购项目的数量)都在个以上的订购单的信息。
select * from 订单where (订单号in (select 订单号from 订单明细where (数量》10)))
--10. 找出和德国奶酪同等价位的所有产品信息。
select * from 产品where (
--11. 查询单价范围在元到元范围内的产品信息(使用BETWEEN…AND)。
select * from 产品where (单价between 10 and 30)
--12. 从客户表中查询出客户名称中有“公司”二字的客户信息(使用LIKE运算符)
select * from 客户where 客户名称like ’%公司%’
--13. 从客户表中查询出客户名称中没有“公司”二字的客户信息(使用NOT LIKE运算符)。
select * from 客户where 客户名称not like ’%公司%’
--14. 按产品的单价升序列出全部产品信息。
select *from 产品order by 单价
--15. 先按产品名称排序,再按单价排序列出全部产品信息。
select * from 产品order by 产品名称,单价
--16. 从产品表中查询共有几种产品。
select count ( distinct 产品名称) as 产品总数from 产品
--17. 从订购名细表中查询德国奶酪的订购总数
select sum (数量) as ’订购奶酪数量’
from 订单明细
where 产品号in(select 产品号from 产品where 产品名称=’德国奶酪’)
--18. 计算德国奶酪所有订购的总金额
declare @a money
select @a=(select 单价from 产品where 产品名称=’德国奶酪’)
declare @b int
select @b=(select sum (数量) as ’订购奶酪数量’
from 订单明细
where 产品号in(select 产品号from 产品where 产品名称=’德国奶酪’))
declare @c int
select @c=@a*@b
select @c as 总金额
--19. 求所有订购单的平均金额,在查询结果中列出订购单的个数和平均金额。
select 订单均值= avg(单价*数量) ,订单个数=count ( 订单号)
from 订单明细,产品
where 产品.产品号=订单明细.产品号
--20. 求每个订购单订购的项目数和总金额。
select 订单号, count (产品.产品号) as 项目数,sum(数量*单价) as 总金额
from 产品,订单明细
where (产品.产品号=订单明细.产品号)
group by 订单号
--21.求每个客户包含了德国奶酪订购的订单号及其最高金额和最低金额
select 客户.客户号,产品.产品号,数量*单价as 总金额
from 客户,订单,订单明细,产品
where 客户.客户号=订单.客户号and 订单.订单号=订单明细.订单号and 订单明细.产品号=产品.产品号and
产品名称=’德国奶酪’
order by 客户号
compute max(数量*单价),min (数量*单价) by 客户号
--22.求至少有两个订购项目的订购单的平均金额
select 订单号,avg(数量*单价),count(产品.产品号)
from 订单明细,产品
where 订单明细.产品号=产品.产品号
group by 订单号
having count(产品.产品号)》=2
--23.找出尚未最后确定订购单(即订购日期为空值的记录)的有关客户信息
-- (客户的名称、联系人和电话号码)和订单号
select 客户名称,联系人,电话,订单明细.订单号
from 客户, 订单明细,订单
where(客户.客户号= 订单.客户号) and 订购日期=null
--24.找出在年月日之后签订的订购单的客户信息
--(客户的名称、联系人和电话号码)、订单号和订购日期
select 客户名称,联系人,电话,订单号,订购日期
from 客户,订单
where 客户.客户号=订单.客户号
and year(订购日期)》1996 and month(订购日期)》4 and day(订购日期)》2
--25.列出每类产品(相同名称)具有最高单价的产品信息
--(产品号、名称、规格说明和单价,提示:使用内外层互相关嵌套查询)
select A.产品号, A.产品名称, A.规格说明, A.单价
from 产品A
where 单价= (SELECT MAX(单价)
FROM 产品B
WHERE A.规格说明= B.规格说明)
--26.确定哪些客户目前没有订购单(使用谓词NOT EXISTS)
select *
from 客户
where not exists (select* from 订单where 客户号=订单.客户号)
--27.查询目前有订购单的客户的信息(使用谓词EXISTS)
select *
from 客户
where exists (select* from 订单where 客户号=订单.客户号)
--28.查询符合条件的产品信息,要求该产品的单价达到了任
--意一款产品名称为牛奶的单价的一半(使用ANY或SOME量词)
select *
from 产品a
where(单价》any(select 单价/2 from 产品b where b.产品名称=’牛奶’))
--29.查询符合条件的产品信息,要求该产品的单价大于任何
-- 一款产品名称为牛奶的单价(使用ALL量词)
select *
from 产品a
where(单价》all(select 单价from 产品b where b.产品名称=’牛奶’))
--30.设计如下的连接操作,并分析各自的特点:
-- •广义笛卡儿积
SELECT *
FROM 客户CROSS JOIN 订购单
WHERE 客户.客户号= 订购单.客户号
-- •内连接
SELECT *
FROM 客户INNER JOIN 订购单
ON 客户.客户号= 订购单.客户号
-- •外连接
-- •左连接
SELECT *
FROM 客户LEFT JOIN 订购单
ON 客户.客户号= 订购单.客户号
-- •右连接
SELECT *
FROM 客户RIGHT JOIN 订购单
ON 客户.客户号= 订购单.客户号
-- •全连接
SELECT *
FROM 客户FULL JOIN 订购单
ON 客户.客户号= 订购单.客户号
说明:
1. 上机报告上传到211.68.36.251的数据库文件夹中的上传目录
2. 文件名的命名规则为:学号+姓名+实验+序号。如:9724101汪伟的第二次上机报告名为:9724101汪伟实验2
3. 封面由学生填写;
4. 正文的实验名称、实验目的、实验内容、实验要求已经由教师指定;
5. 实验准备由学生在实验或上机之前填写;
6. 实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;
7. 实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;
8. 将相关的语句粘贴到附录中。
你自己改改吧。想要word原版的话再说一声。

数据库实训教程在存储过程 中 @ 怎么用

@xx代表变量,首先要定义变量declare @s nvarchar(20)
定义一个名为@s的变量,变量类型为nvarchar(20)
然后用set或select进行赋值与查询显示,如
set @s=’abc’或select @s=’abc’
可以对应一个表来查询显示,如
select @s=cast(count(*) as nvarchar(20)) from tablename
然后select @s就能显示变量@s里面的值了

以上就是我们为大家找到的有关“数据库存储过程实验(关于数据库存储过程的实验)”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。

数据库存储过程实验(关于数据库存储过程的实验)

本文编辑:admin

更多文章:


css触发点击事件(css3可以写click事件吗)

css触发点击事件(css3可以写click事件吗)

本篇文章给大家谈谈css触发点击事件,以及css3可以写click事件吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月14日 08:00

随机抽签小程序(有没有抽签小程序一人抽两个)

随机抽签小程序(有没有抽签小程序一人抽两个)

本篇文章给大家谈谈随机抽签小程序,以及有没有抽签小程序一人抽两个对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月14日 05:30

获取innertext(在js中如何获取input标签的text值)

获取innertext(在js中如何获取input标签的text值)

大家好,如果您还对获取innertext不太了解,没有关系,今天就由本站为大家分享获取innertext的知识,包括在js中如何获取input标签的text值的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月14日 02:00

跨文件vlookup怎么用详细步骤(vlokkup函数怎么用)

跨文件vlookup怎么用详细步骤(vlokkup函数怎么用)

本篇文章给大家谈谈跨文件vlookup怎么用详细步骤,以及vlokkup函数怎么用对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月14日 01:30

抹茶mexc不能用了?币安中国下市币会清空吗

抹茶mexc不能用了?币安中国下市币会清空吗

各位老铁们,大家好,今天由我来为大家分享抹茶清退,以及抹茶mexc不能用了的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年10月14日 00:30

音视频接口类型有哪些(音视频接口是否有颜色区分)

音视频接口类型有哪些(音视频接口是否有颜色区分)

大家好,关于音视频接口类型有哪些很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于音视频接口是否有颜色区分的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月13日 23:30

伦勃朗老年自画像(《大师经典伦勃朗》封面上的这张图叫什么名字急!)

伦勃朗老年自画像(《大师经典伦勃朗》封面上的这张图叫什么名字急!)

其实伦勃朗老年自画像的问题并不复杂,但是又很多的朋友都不太了解《大师经典伦勃朗》封面上的这张图叫什么名字急!,因此呢,今天小编就来为大家分享伦勃朗老年自画像的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月13日 22:40

jsp转发和重定向(一个jsp页面中的链接跳到别一个jps页面,这属于重定向还是转发)

jsp转发和重定向(一个jsp页面中的链接跳到别一个jps页面,这属于重定向还是转发)

这篇文章给大家聊聊关于jsp转发和重定向,以及一个jsp页面中的链接跳到别一个jps页面,这属于重定向还是转发对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月13日 20:20

fscanf返回值被忽略怎么解决(c语言,忽略scanf的返回值怎么解决)

fscanf返回值被忽略怎么解决(c语言,忽略scanf的返回值怎么解决)

各位老铁们好,相信很多人对fscanf返回值被忽略怎么解决都不是特别的了解,因此呢,今天就来为大家分享下关于fscanf返回值被忽略怎么解决以及c语言,忽略scanf的返回值怎么解决的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起

2026年10月13日 19:50

css列表垂直滚动条(Div我只要竖的滚动条怎么写CSS)

css列表垂直滚动条(Div我只要竖的滚动条怎么写CSS)

本篇文章给大家谈谈css列表垂直滚动条,以及Div我只要竖的滚动条怎么写CSS对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月13日 19:20

最近更新

热门文章

标签列表